在Android的开发中,有时候会遇到软键盘弹出时挡住输入框的情况。这时候可以设置下软键盘的模式就可以了。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

有时候需要软键盘不要把我们的布局整体推上去,这时候可以这样:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);


下面做个详细的介绍:

软输入法模式选项:
public int softInputMode;

以下选项与输入法模式有关:
软输入区域是否可见。
public static final int SOFT_INPUT_MASK_STATE = 0x0f;

未指定状态。
public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0;

不要修改软输入法区域的状态。
public static final int SOFT_INPUT_STATE_UNCHANGED = 1;

隐藏输入法区域(当用户进入窗口时)。
public static final int SOFT_INPUT_STATE_HIDDEN = 2;

当窗口获得焦点时,隐藏输入法区域。
public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3;

显示输入法区域(当用户进入窗口时)。
public static final int SOFT_INPUT_STATE_VISIBLE = 4;

当窗口获得焦点时,显示输入法区域。
public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5;

窗口应当主动调整,以适应软输入窗口。
public static final int SOFT_INPUT_MASK_ADJUST = 0xf0;

未指定状态,系统将根据窗口内容尝试选择一个输入法样式。
public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00;

当输入法显示时,允许窗口重新计算尺寸,使内容不被输入法所覆盖。
不可与SOFT_INPUT_ADJUSP_PAN混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;

输入法显示时平移窗口。它不需要处理尺寸变化,框架能够移动窗口以确保输入焦点可见。
不可与SOFT_INPUT_ADJUST_RESIZE混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
public static final int SOFT_INPUT_ADJUST_PAN = 0x20;

当用户转至此窗口时,由系统自动设置,所以你不要设置它。
当窗口显示之后该标志自动清除。
public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100;

更多相关文章

  1. 实用代码3
  2. android editText 软键盘enter键图标的设置
  3. Android(安卓)使用ActivityOptions实现Activity转场动画
  4. 【Android】android:padding属性设置对ImageButton无效问题
  5. android 背景图片设置
  6. Android(安卓)在从全屏切换到非全屏的时候闪动问题
  7. android顶部栏属性ActionBar Options
  8. 如何将一个Activity设置成窗口的样式
  9. tabhost的使用

随机推荐

  1. Android学习备忘022——FBReader源码解析
  2. 优化布局在Android–减少过度渲染
  3. 7.1 DropTargetBar style
  4. Android调用Jni,非常简单的一个Demo
  5. Android中系统设置参数改变监听(以时间同
  6. Android(安卓)spinner 动态添加时报错 ja
  7. android 代码片段
  8. 学习笔记 Android(安卓)使用AIDL实现进程
  9. android图片缩放(指定大小)
  10. Android(安卓)adb命令启动系统组件