软键盘问题

?

一、IM当中的聊天界面关系嵌套

AttachController类定义了下面的container

SessBottomContrller 定义了一些表情框等

?

FragChatViewController 界面都在这 body + bottom

?

FragChat fragment需要调用上面的view

?

真正的Activity,调用上面的fragment

?

?

输入文字,覆盖container的时候,我们必须让container消失才行。

?

二、关于软键盘 与 Editview

参考资料:http://blog.sina.com.cn/s/blog_671d2e4f0101f8fd.html#userconsent#
Android_EditView与软键盘相关

想解决的问题:

??当我按back

变成这样

但是我想要的是这样?

?

不应该有中间 层

?

?

问题探索:

可不可以捕捉键盘的监听事件?

但是事件监听是有优先级的 看看事件分发机制

而是第一次按下back,键盘缩下去,第二层back?view?缩下去。第三次back?刚刚的事件才执行?

我怎么找到按第一个back键的时候哪个方法在执行???

?

参考: http://blog.csdn.net/lmj623565791/article/details/38960443 事件分发

仿微信的项目: http://www.apkbus.com/forum.php?mod=viewthread&tid=242633&highlight=%E5%BE%AE%E4%BF%A1

?

三、软键盘相关问题

?

问题分析:

?

1、多点几次添加表情,系统出问题

?

2、系统死掉的频率太高

?

3、控制container的显示与隐藏,在ActChat中不可行

?

4、生命周期:当按第三次OnbackPause \ OnPause才执行

?

5、监听不到软键盘

?

结论:不是软键盘的问题,是逻辑问题。

?

?

四、其他介绍

?

ActionBarDrawerToggle工具类主要是用来将DrawerLayout和ActionBar 上面的功能结合起来。

?

?

?

五、EventBus 组件间交互的方法

参考文章: http://blog.csdn.net/bboyfeiyu/article/details/43450553
?Android事件总线 ( AndroidEventBus ) 开源库发布

主要目的就是想要在另一个组件中,调用我们已经注册过的事件(多个函数)(另一个对象中)。

然后,在当前的对象中,我们发布事件(可以有标签),然后另一个对象中,会自动执行带有标签和默认的事件。

(注意:当重新打开一个工程的时候,模拟器找不到的时候,我们只需要关闭当前模拟器,然后重新打开一个模拟器就可以了。)

Demo:

效果:

当我们按下按钮从MainActivity中跳转到YourActivity当中时候,log出来的内容:

?

注意的地方:务必保证发布的事件的代码执行,不执行啥都看不到。

?

Mainactivity 当中:

YourActivity中:

?

?

六、集成环信JDK:

当我们假装某些资源的时候,直接调用可以 直接 @drawale/xxxx

此图片资源一般都放在

但是,假如我们某个控件有多种状态,需要多种资源(可能是图片、图形),这个时候第一种直接加载的方法失效,我们需要自定义某些资源文件。

文件大概是下面的样子:

时间: 2024-09-30 04:56:36

软键盘问题的相关文章

前端angularJS利用directive实现移动端自定义软键盘的方法

最近公司项目的需求上要求我们iPad项目上一些需要输入数字的地方用我们自定义的软键盘而不是移动端设备自带的键盘,刚接到需求有点懵,因为之前没有做过,后来理了一下思路发现这东西也就那样.先看一下实现之后的效果: 实现的效果就是当点击页面中需要弹出软键盘的时候软键盘弹出,浮在页面的中间,和模态框一样的效果,可以在软键盘中输入任何数字,附带的功能有小数点.退格.清空.确定等功能.当在键盘上点击数字的时候页面中的表单中实时的添加对应的数字,上图中可以看到. 产品经理那边给的原因是iPad屏幕本来就小,如

android自动弹出软键盘(输入键盘)

searchEditView.setFocusable(true); searchEditView.setFocusableInTouchMode(true); searchEditView.requestFocus(); Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputManager = (InputMethodManager) sea

第一个app-进阶:1、让EditText屏蔽软键盘仍能光标闪动:2、EditText 的inputType参数类型(密码方式-隐藏显示、只允许输入数字等等)

EditText屏蔽软键盘后,光标消失问题 开始我有个需求:屏蔽系统软键盘 于是找到并使用这个方法: //edit_text1.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text2.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text3.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出 让三个EditText都成功地没有软键盘弹出. 后来我

Android 设置系统的返回键 和软键盘获取焦点问题

很多朋友出现过这样的一个问题,当底部弹出评论框时,有几个问题,一个是软件盘弹出时怎么让焦点在输入框,关于这个问题,本人也是遇到过,解决了很久,有的是在布局设置或者代码里setFocusable(true),并没有用,又在代码或者代码里设置requestFocus(),依然没有用,其实这个解决办法是没有错的,但是为什么会没用呢,因为并没有及时是在软件盘弹出时设置,所以先提出隐藏和显示软件盘的方法 private void onFocusChange(boolean hasFocus) { fina

Android软键盘基础总结(一)

一年多时间以来,一直在学习,去从来疏于整理,搞得知识点好凌乱,是时候开始做个总结啦,一步步来,从基础深入吧. 今天就讲解Android的软键盘windowSoftInputMode属性:其中有adjustXX共5个合stateXX共6个:加起来就是10个: adjustXX这一系列的属性在测试中发现是通过调整窗体/窗体里面的某些属性来显示软件盘的.注意:这一系列模式只在 有输入必要的时候才会弹出软键盘 adjustResize:activity总是会被调整大小,来确保软键盘可以显示出来,并且不一

Android软键盘弹出时把布局顶上去的解决方法

原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在mainfest.xml中,对那个Activity加: <activityandroid:name=".activity.HomeActivity"android:windowSoftInputMode="adjustPan|stateHidden"></ac

WinCE6.0多国语言软键盘

N久以前写过一篇<WinCE下自定义的大软键盘>,这个自定义软键盘就是为RM905a+项目来做的.RM905a+的系统分辨率是640*480,WinCE原生键盘小的太小,大的又太大.所以就去除了大软键盘其中很多没必要的按键,既满足了使用需求,又提高了用户体验,不至于一个软键盘就占了大半个屏幕.当然那时候没有美工可以帮忙,图片处理都是自己搞的,所以RM905a+的界面也都是一抹黑,其实就是用的最简单的MFC+高对比黑色的主题,虽然不太好看,但反而很像专业仪器. 后来做车载导航设备,在国外卖的不错

隐藏软键盘随笔

1>软键盘的状态——隐藏或显示. 一:自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, 

【转】 Android 手动显示和隐藏软键盘

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) 1 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 2 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) 1 InputMethodManager

Android之监听手机软键盘弹起与关闭

背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭. 预备知识: 在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下: android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 那么这里值的含