Android键盘使用问题汇总
16lz
2021-01-23
1、android:windowSoftInputMode
1、当有焦点产生时,软键盘是隐藏还是显示2、是否减少活动主窗口大小以便腾出空间放软键盘
2、android:imeOptions="actionSearch|flagNoFullscreen"的用法
在做一个把EditText放到到ActionBar中作为搜索框的功能时,设置EditText的属性为android:imeOptions="actionSearch",会遇到一个问题,当在横屏时,EditText的宽度会填充掉屏幕上除了软键盘之外的地方,与需求不符,改为android:imeOptions="actionSearch|flagNoFullscreen"后就OK了。3、代码设置弹出键盘是否挤压窗口
不挤压窗口:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);挤压窗口:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
一共四种模式:
SOFT_INPUT_ADJUST_NOTHING
SOFT_INPUT_ADJUST_PAN
SOFT_INPUT_ADJUST_RESIZE
SOFT_INPUT_ADJUST_UNSPECIFIED
4、有时候无法调起键盘
有时候发现用下面代码无法调起键盘:
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(mView, 0);
有可能焦点已经落在其他非编辑框View上了,延迟一下可能就好了。输入法弹出时,会检测当前的焦点View是否有效,如果非有效的焦点View,输入法是弹不出来的。
mView.postDelayed(new Runnable() {@Overridepublic void run() {InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(mView, 0);}}, 100);
更多相关文章
- Android:windowSoftInputMethod软键盘弹出的问题浅析
- Android 4.4(KitKat)窗口管理分系统 - 体系框架
- android 监控软键盘确定 搜索 按钮并赋予点击事件
- Android输入法扩展之外接键盘中文输入
- Android之VideoView窗口/全屏播放
- android软键盘问题