`

Activity中ConfigChanges属性配置描述

 
阅读更多

通过设置这个属性可以使Activity捕捉设备状态变化,以下是可以被识别的内容: 
CONFIG_FONT_SCALE
CONFIG_MCC
CONFIG_MNC
CONFIG_LOCALE
CONFIG_TOUCHSCREEN
CONFIG_KEYBOARD

CONFIG_KEYBOARDHIDDEN
CONFIG_NAVIGATION
CONFIG_ORIENTATION

设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation


Value Description
“mcc” The IMSI mobile country code (MCC) has changed — that is, a SIM hasbeen detected and updated the MCC.移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
“mnc“ The IMSI mobile network code (MNC) has changed — that is, a SIM hasbeen 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.全局字体大小缩放发生改变


通过一个例子介绍这个属性的用法: 首先需要修改项目的manifest:
View Code XML

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.androidres.ConfigChangedTesting"
      android:versionCode="1"
      android:versionName="1.0.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".ConfigChangedTesting"
                  android:label="@string/app_name"
                  android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

 

在Activity中添加了 android:configChanges属性,目的是当所指定属性(Configuration Changes)发生改变时,通知程序调用 onConfigurationChanged()函数。

分享到:
评论

相关推荐

    LauncherActivity 开发启动Activity的界面

    7. **处理配置变更**:如果`LauncherActivity`的布局可能因屏幕方向改变或其他配置变更而变化,需要适当地处理这些情况,例如使用`android:configChanges`属性或重写`onConfigurationChanged()`方法。 8. **测试与...

    activity的设置大全

    正确地配置`Activity`的各种属性对于优化用户体验、提升应用性能至关重要。本文将详细解读`Activity`的常见属性及其作用,帮助开发者更好地理解和运用这些属性。 #### 一、`android:allowTaskReparenting` **属性...

    设备旋转与Activity生命周期

    2. **配置变更不销毁Activity**:通过在AndroidManifest.xml中对应的Activity标签中添加`android:configChanges="orientation|screenSize"`属性,指示系统不要销毁Activity,而是调用`onConfigurationChanged...

    activity

    开发者可以通过重写onSaveInstanceState()保存状态,并在onRestoreInstanceState()中恢复,或者使用configChanges属性避免不必要的重建。 7. **Fragment与Activity**:Fragment是Android 3.0引入的组件,可以嵌入到...

    Android Activity嵌套Fragmnet实现横竖屏切换

    对于描述中的"Activity中嵌套多个Fragment,利用ViewPager实现左右滑动",我们需要使用ViewPager组件。ViewPager允许用户在多个页面之间滑动,每个页面对应一个Fragment。实现这一功能的步骤如下: 1. 创建一个...

    Android_XML属性大全

    - **功能描述**:此属性决定了Activity是否可以从一个任务转移到另一个任务中。 - **应用场景**:例如,一个短信应用的Activity可以在用户打开浏览器时将其转移到浏览器任务中。 **2. `android:...

    EditText与TextView 属性大全

    从给定的文件信息来看,虽然标题和描述指向了`EditText`与`TextView`的属性大全,但在部分内容中,却详细列举了与Android Activity相关的属性。因此,我将基于这部分内容,深入解析与Activity相关的各个属性,以满足...

    android 属性

    为了更好地管理和控制`Activity`的行为,Android提供了丰富的属性配置。下面将详细介绍这些属性的功能及用法。 #### 1. `android:allowTaskReparenting` - **描述**:此属性用于指定当一个`Activity`所在的任务...

    AndroidManifest.xml文件剖析.pdf

    * android:configChanges:配置变化 * android:enabled:是否启用Activity * android:excludeFromRecents:是否排除最近的Activity * android:exported:是否导出Activity * android:finishOnTaskLaunch:是否在任务...

    竖屏转横屏的 Activity切换效果

    需要注意的是,为了使`onConfigurationChanged()`生效,需要在AndroidManifest.xml中对应的Activity中设置`android:configChanges="orientation|screenSize"`。 5. **处理屏幕旋转的生命周期**: - 屏幕旋转会导致...

    最全面最齐全的Android基础面试题

    - **配置更改**:通过在`AndroidManifest.xml`文件中为Activity指定`android:configChanges`属性,可以控制屏幕方向改变时的行为。例如,设置`android:configChanges="orientation"`可以避免Activity在屏幕方向变化...

    Android面试题

    1. **不设置Activity的android:configChanges属性** - **描述**:当屏幕旋转时,会重新调用各个生命周期方法。 - **特点**:切横屏时会执行一次,切竖屏时会执行两次。 2. **设置Activity的android:configChanges...

    Android面试题整理

    横竖屏切换时Activity的生命周期处理取决于在清单文件中如何配置`android:configChanges`属性。如果不设置或设置为默认值,切换屏幕方向会导致Activity被销毁并重新创建,执行完整个生命周期。若设置`android:...

    android适应屏幕

    当配置改变(如屏幕旋转)时,如果不希望`onCreate`被重复调用,除了设置`android:configChanges`属性,还需要在Activity中实现`onConfigurationChanged`方法,这样可以避免因屏幕旋转而造成的不必要的初始化操作。...

    面试总结android

    - **配置变化监听**:通过在`AndroidManifest.xml`中设置`android:configChanges`属性,可以控制Activity如何响应配置变化(如屏幕方向改变)。 - 如果未设置任何`configChanges`属性,默认情况下,配置变化会导致...

    Android面试题整理汇总

    - **配置**: 可以通过在`AndroidManifest.xml`中为Activity设置`android:configChanges="orientation|keyboardHidden"`属性来避免屏幕旋转时的重建。 - **效果**: 设置此属性后,屏幕旋转时仅会调用`...

    Android移动应用试题(带答案).docx

    8. **配置变化**:在AndroidManifest.xml中通过`android:configChanges`属性指定如何处理屏幕方向、键盘可用性等配置变化。如果设置为`orientation|keyboardHidden`,则应用程序会自己处理这些变化,而不是默认地...

    android常见的面试题

    可以通过在`AndroidManifest.xml`中为Activity添加`android:configChanges="orientation|screenSize"`属性来禁用这种默认行为,从而使Activity不会被销毁。 #### 5. 如何将一个Activity设置成窗口的样式? 可以在`...

    详解Android中Runtime解决屏幕旋转问题(推荐)

    这通常在AndroidManifest.xml中通过`android:configChanges="orientation|screenSize"`属性来指定。然后,你需要在Activity中重写`onConfigurationChanged(Configuration newConfig)`方法,以处理旋转事件。 2. **...

    Android 核心面试题

    - android:excludeFromRecents属性可以防止Activity出现在最近任务列表中,android:configChanges属性用于声明Activity需要自行处理的配置更改。 38. Android属性: - android:screenOrientation="portrait"用于...

Global site tag (gtag.js) - Google Analytics