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);



更多相关文章

  1. android:windowSoftInputMode属性详解
  2. 一界面相关知识
  3. Android底层和中间层共同学习系列之android键盘映射
  4. Android进化史
  5. Android之EditText特殊小技巧
  6. Android核心分析(14)------ Android(安卓)GWES之输入系统
  7. Android的Window类
  8. EditText横屏时,弹出软件盘时不进行全屏
  9. android EditText中inputType的属性列表

随机推荐

  1. 【Android(安卓)开发教程】注册事件监听
  2. Android(安卓)Retrofit2使用
  3. Android学习笔记之相对布局与表格布局
  4. Android(安卓)Camera之常用接口(人脸追踪
  5. Android接收/发送jSON数据
  6. Android(安卓)--- 应用中全局变量的设置
  7. Android(安卓)Service详解(五)---绑定服
  8. Android(安卓)WiFi扫描
  9. Android(安卓)播放本地视频
  10. Android(安卓)studio 2.3.3 调试编译时注