zoukankan      html  css  js  c++  java
  • android自适应滑动键盘产生的屏幕尺寸变化

    默认情况下,滑动键盘会重新启动activity

    要不关闭activity 则可以在manifest.xml中增加 android:configChanges="keyboardHidden|orientation"

    然后重载public void onConfigurationChanged(Configuration newConfig) 函数

    键盘被抽出后会首先调用onConfigurationChanged

    如果你希望滑动键盘不改变屏幕分辨率 则可以增加属性:

    android:screenOrientation="portrait">

    portrait :竖   
    landscape: 横
    sensor:根据手机的角度自动调整

    详细说明:

    <activity ...
              android:configChanges=[one or more of: "mcc" "mnc" "locale"
                                     "touchscreen" "keyboard" "keyboardHidden"
                                     "navigation" "orientation" "fontScale"]
    ...
    </activity>
    android:configChanges
        Lists configuration changes that the activity will handle itself. When changes that are not listed occur, the activity is shut down and restarted. When a listed change occurs, the activity remains running and its onConfigurationChanged() method is called.

        Any or all of the following strings can be used to set this attribute. Values are separated by '|' — for example, "locale|navigation|orientation".
        Value         Description
        "mcc"         The IMSI mobile country code (MCC) has changed — that is, a SIM has been detected and updated the MCC.
        "mnc"         The IMSI mobile network code (MNC) has changed — that is, a SIM has been detected and updated the MNC.
        "locale"         The locale has changed — for example, the user has selected a new language that text should be displayed in.
        "touchscreen"         The touchscreen has changed. (This should never normally happen.)
        "keyboard"         The keyboard type has changed — for example, the user has plugged in an external keyboard.
        "keyboardHidden"         The keyboard accessibility has changed — for example, the user has slid the keyboard out to expose it.
        "navigation"         The navigation type has changed. (This should never normally happen.)
        "orientation"         The screen orientation has changed — that is, the user has rotated the device.
        "fontScale"         The font scaling factor has changed — that is, the user has selected a new global font size.

        All of these configuration changes can impact the resource values seen by the application. Therefore, when onConfigurationChanged() is called, it will generally be necessary to again retrieve all resources (including view layouts, drawables, and so on) to correctly handle the change.

  • 相关阅读:
    线程和进程
    Java多线程实现(四种方法)
    Java中的锁
    synchronized和java.util.concurrent.locks.Lock
    Lock的实现类ReentrantLock&Condition类的await/signal/signalAll(生产者消费者场景)
    synchronized&Object类的wait/notify/notifyAll(生产者消费者场景)
    SQL语句优化
    面试
    数据库三大范式
    设计模式之JDK动态代理源码分析
  • 原文地址:https://www.cnblogs.com/jacktu/p/1392278.html
Copyright © 2011-2022 走看看