zoukankan      html  css  js  c++  java
  • android软键盘的管理和属性的设置

    android:windowSoftInputMode

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

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

    【一】当有焦点产生时,软键盘是隐藏还是显示

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

     

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

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


    各值的含义:

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

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

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

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

    【E】stateVisible:软键盘通常是可见的

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

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

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

    【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分(设置这个属性,可以让底边的tabhost不被软键盘顶起来)

     

    1、//隐藏软键盘

    ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

    2、//显示软键盘,控件ID可以是EditText,TextView

    ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0);

    3、不自动弹出键盘:

    带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法:

    方法一:在mainfest文件中把对应的activity设置

    android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged"。

    方法二:可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。

    注意TextView不要设置Visiable=gone,否则会失效

    ,可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。

    详细出处参考:http://www.jb51.net/article/36653.htm

     

  • 相关阅读:
    一个爬虫的练习(妹子图)
    安装模块出现的编译问题(解决)
    基于套接字通信的简单练习(FTP)
    Python3 之选课系统
    数据爬取后台(PHP+Python)联合作战
    让pip 使用国内镜像源
    为啥学蛇和python10年后的变化
    模拟登陆百度以及Selenium 的基本用法
    冒泡排序及其效率分析(无聊搞来玩玩)
    LLVM编译器
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3253428.html
Copyright © 2011-2022 走看看