在做搜索功能的时候,点击搜索框,搜索框获取焦点,键盘弹出;现在问题出来了,android软键盘弹出的时候,android整个界面上移,布局被挤压,很难看;要解决这个问题,我们需要用到 windowSoftInputMode属性;

被压缩的界面:   解决方案: 在AndroidManifest.xml文件中界面对应的里设置windowSoftInputMode属性
     <activity           android:name=".PhoneContactActivity"           android:label="@string/title_activity_phone_contact"           android:windowSoftInputMode="adjustPan|stateHidden" >         


android:windowSoftInputMode说明:

 

activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。

这个属性能影响两件事情:

 1.当有焦点产生时,软键盘是隐藏还是显示

 2.是否减少活动主窗口大小以便腾出空间放软键盘

 

windowSoftInputMode的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。

例如:

在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值

各值的含义:

stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

stateHidden:用户选择activity时,软键盘总是被隐藏

stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

stateVisible:软键盘通常是可见的

stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

例如:

AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="adjustPan"   键盘就会覆盖屏幕android:windowSoftInputMode="stateVisible|adjustResize"   屏幕整体上移android:windowSoftInputMode="adjustPan|stateHidden" 软键盘弹出,界面布局不变,这是解决弹出软键盘,界面整体被压缩的方式

 

更多相关文章

  1. Android:充电状态、轮询、电池状态、Notification
  2. Android(安卓)materialDesign 风格阴影 改变阴影颜色
  3. android菜鸟学习笔记5----第一个android程序
  4. android EditText控件自动获取焦点弹出键盘解决方法
  5. 如果你想用对话框代替一个activity的话,可以设置activity的主题属
  6. android Notification 的使用
  7. Android中设置控件可见与不可见详解
  8. EditText控件实现只读
  9. Android自定义标题栏

随机推荐

  1. button selector 样式
  2. Android简单注册表单
  3. Android(安卓)Wi-Fi 设置带宽代码流程
  4. RelativeLayout
  5. Android(安卓)studio 遇到Android(安卓)S
  6. inputtype
  7. Android(安卓)单选按钮Radio的使用
  8. Android中Dialog对话框
  9. scrollView嵌套recyclerView 显示不全
  10. Android总结篇系列:Android(安卓)权限