zoukankan      html  css  js  c++  java
  • Android 软键盘弹出,界面整体上移

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

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


    android:windowSoftInputMode说明:

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

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

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

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

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

    例如:<activity android:windowSoftInputMode="stateVisible|adjustResize". . . >

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

    各值的含义:

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

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

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

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

    stateVisible:软键盘通常是可见的

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

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

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

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

    例如:

    AndroidManifest.xml文件中界面对应的<activity>里加入
    android:windowSoftInputMode="adjustPan"   键盘就会覆盖屏幕
    android:windowSoftInputMode="stateVisible|adjustResize"   屏幕整体上移
    android:windowSoftInputMode="adjustPan|stateHidden" 软键盘弹出,界面布局不变,这是解决弹出软键盘,界面整体被压缩的方式
  • 相关阅读:
    wps 2011 破解版软件
    ios textView跟随键盘的移动
    开发版速达访问速度提升的解决方案
    开发版速达扩展功能-增值业务报表之分析交叉表第一篇
    开发版速达扩展功能-提供单据条码打印
    速达软件开发版ERP价格体系
    速达软件开发版使用技巧-帐套备份教程
    速达软件二次开发-发出商品和估价入库选择单据不显示价格和金额
    开发版速达扩展功能-业务单据明细表格数据导入
    开发版速达扩展功能-提供便捷的界面布局功能
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9635434.html
Copyright © 2011-2022 走看看