原地址:http://blog.csdn.net/u011622479/article/details/51161717


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


被压缩的界面:


解决方案: 在 AndroidManifest.xml文件中界面对应的里设置windowSoftInputMode属性 [java]  view plain  copy
  1.          android:name=".PhoneContactActivity"  
  2.          android:label="@string/title_activity_phone_contact"  
  3.          android:windowSoftInputMode="adjustPan|stateHidden" >  
  4.        





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(安卓)Activity界面切换添加动画特效
  2. android EditText设置不可写
  3. Android(安卓)拨号器的简单实现
  4. android“设置”里的版本号
  5. android用户界面之按钮(Button)教程实例汇
  6. 锁屏界面
  7. 在Fragment中设置控件点击方法,执行失败。
  8. Android(安卓)闹钟管理类的使用
  9. Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色

随机推荐

  1. mac下下载安装Android Studio教程
  2. Android下调用传感器
  3. Android 数据保存
  4. Android开发现状分析(2020版)
  5. Android--布局方式(LinearLayout)学习
  6. Android 数据存储(二) 文件的使用
  7. Android 笔试/面试,常见问题整理
  8. Android WebView实现选择本地图片拍照功
  9. Android属性动画ObjectAnimator源码简单
  10. Android开发者指南(8) ―― What is Andr