zoukankan      html  css  js  c++  java
  • AndroidManifest: windowSoftInputMode属性总结

    在Android中,可以通过给Activity设置windowSoftInputMode这个属性来控制软键盘与Activity的主窗口的交互方式。

    1. 当Activity成为用户注意的焦点时软键盘的状态 - 隐藏还是可见。通过 "stateXXX" 属性指定。 
    2. 对Activity主窗口所做的调整 - 意思是是否将其尺寸调小为软键盘腾出空间,或者当窗口部分被软键盘遮挡时是否平移其内容以使当前焦点可见。通过"adjustXXX"属性指定。

    一.属性总结

    stateUnspecified-不指定软键盘的状态(隐藏还是可见) 将由系统选择合适的状态,或依赖主题中的设置,这是对软键盘行为的默认设置;

    stateUnchanged-保留状态 当 Activity 转至前台时保留软键盘最后所处的任何状态,无论是可见还是隐藏;

    stateHidden-隐藏软键盘 当用户确实是向前导航到 Activity,而不是因离开另一Activity 而返回时隐藏软键盘;

    stateAlwaysHidden-始终隐藏软键盘 当 Activity 的主窗口有输入焦点时始终隐藏软键盘;

    stateVisible-显示软键盘 在正常的适宜情况下(当用户向前导航到 Activity 的主窗口时,显示软键盘;

    stateAlwaysVisible-显示软键盘 当用户确实是向前导航到 Activity,而不是因离开另一Activity 而返回时;

    “adjustXXX” 还需要根据当前布局的形式来说明:

    非滚动布局XML
    1.adjustNoting。无效果,但是键盘弹出后会遮挡EditText,导致无法输入!这种情况下指定此形式是错误的。
    2.adjustPan。主窗口会上移来保证待输入的EditText在软键盘之上。注意:ActionBar会被顶没了。参见图1
    3.adjustUnspecified。同adjustPan。
    4.adjustResize。无效果。
    PS:这种情况下默认形式是:adjustPan(注意:不是adjustNoting)。
    只有adjustPan 与 adjustUnspecified 有效,但会把actionBar顶没了。

    滚动布局XML
    1.adjustNoting。无效果,软键盘仍会遮挡EditText,与不加ScrollView表现一样。
    2.adjustResize。ScrollView会重新绘制,然后滚动到EditText的位置,使其显示到软键盘之上。
    3.adjustUnspecified。与刚才的adjustResize表现完全一致。
    4.adjustPan。主窗口仍然会上移,会将ActionBar顶没了。
    PS:在此种情况下,默认模式是adjustUnspecified。

     

    参考链接:

    Android软键盘的全面解析,让你不再怕控件被遮盖  

  • 相关阅读:
    solr源码解读(转)
    solr安装配置
    HTML转义字符
    JAVA:在0-99间产生100个不重复的随机数
    JS中的$符号
    使用Emacs敲出UML,PlantUML快速指南
    operator 安装
    package handler
    shell 条件判断if
    libvirtError: internal error: No more available PCI slots
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/10635375.html
Copyright © 2011-2022 走看看