程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等,这样的事情一发生,Activity会重新启动,其中的过程是:在销毁之前会先 called onSaveInstanceState()去保存你应用中的一些数据,然后called onDestroy(),最后才去called onCreate()或onRestoreInstanceState()方法去重新启动Activity。
当指定的属性发生变化时,不会去重新启动Activity,而是通知程序去调用 onConfigurationChanged()函数 例如:在进行横竖屏的切换时,会重新启动Activity,而定义了这个属性,就不会重新启动Activity了,而是去调用 onConfigurationChanged()函数
可以设置多个属性,中间用|隔开
引用
"mcc" 国际移动用户识别码所属国家代号是改变了----- sim被侦测到了,去更新mcc mcc是移动用户所属国家代号
"mnc" 国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
"locale" 地址改变了-----用户选择了一个新的语言会显示出来
"touchscreen" 触摸屏是改变了------通常是不会发生的
"keyboard" 键盘发生了改变----例如用户用了外部的键盘
"keyboardHidden" 键盘的可用性发生了改变
"navigation" 导航发生了变化-----通常也不会发生
"screenLayout" 屏幕的显示发生了变化------不同的显示被激活
"fontScale" 字体比例发生了变化----选择了不同的全局字体
"uiMode" 用户的模式发生了变化
"orientation" 屏幕方向改变了
"screenSize" 屏幕大小改变了
"smallestScreenSize" 屏幕的物理大小改变了,如:连接到一个外部的屏幕上
具体设置如下代码所示:
<activity
android:name="com.iflytek.voicedemo.TtsDemo"
android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|fontScale"
android:screenOrientation="portrait" >
分享到:
相关推荐
android:configChanges="orientation|keyboardHidden"的使用-附件资源
总的来说,通过在AndroidManifest.xml中正确设置`android:configChanges`属性,并在Activity中忽略配置变化,可以在Android 4.0及以上版本中实现禁止横屏竖屏切换的功能。然而,这种方法可能会导致用户界面在不同...
android:configChanges="orientation|keyboardHidden"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> ...
总之,Android开发者需要了解如何适配屏幕旋转,包括使用`android:configChanges`、`onConfigurationChanged()`以及通过`ActivityInfo.SCREEN_ORIENTATION_*`常量来设定屏幕方向。"MyRotation.zip"的源代码应该能...
让 Android 横竖屏切换时不销毁当前的 Activity 需要使用 `android:configChanges` 属性和 `onConfigurationChanged` 方法。同时,我们也需要正确处理屏幕方向的改变,以确保应用程序的正确运行。
本篇文章将深入解析Android横竖屏切换时Activity生命周期的变动,以及如何通过配置`android:configChanges`属性来控制Activity的行为。 首先,当我们不进行任何特殊配置时,即在`AndroidManifest.xml`中没有指定`...
其次,关于重新载入问题,当屏幕方向改变时,如果不希望重新加载`Activity`,可以利用`AndroidManifest.xml`中的`android:configChanges`属性。将该属性设置为`orientation`,如: ```xml android:name=".Your...
2. **自定义处理**:设置`android:configChanges="orientation"`或`android:configChanges="screenOrientation"`,当屏幕方向改变时,系统会调用`onConfigurationChanged(Configuration newConfig)`方法,让你在不...
`android:configChanges="locale"`表示当语言更改时,应用会重新加载配置,以便更新资源。 在运行时,用户可以通过系统设置进行语言切换。然而,如果你希望在应用内提供切换语言的功能,可以编写一个方法来动态改变...
3. 当`android:configChanges="orientation|keyboardHidden"`设置时,Activity不仅不会重启,而且`onConfigurationChanged()`方法会被调用以适应配置变化。 #### 四、将Activity设置为窗口样式 若想将Activity呈现...
android:configChanges="orientation|keyboardHidden|navigation|screenSize" android:exported="false" android:windowSoftInputMode="adjustResize" /> android:name="com.alipay.sdk.auth.AuthActivity" ...
- 设置`android:configChanges="orientation|keyboardHidden"`:不会重新创建Activity,只执行onConfigurationChanged()。 3. **Android中的动画类型**: - Tween动画:改变视图的位置、大小、旋转和透明度,适用...
android:configChanges="orientation|keyboardHidden|screenSize" /> ``` #### 五、`android:enabled` **属性描述:** 该属性控制`Activity`是否可以被实例化。设置为`false`时,该`Activity`将不会被启动,通常...
方法一: 通过Theme.Translucent @android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBar @android:style/Theme.Translucent.NoTitleBar.... android:configChanges=keyboardHidden|
- 设置`android:configChanges="orientation|keyboardHidden"`,Activity不会重建,仅执行onConfigurationChanged(),处理配置变化。 3. **Android动画类型**: Android提供了Tween动画和Frame动画两种类型。...
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode" android:exported="true" android:launchMode="singleTop" /> ``` **1.3 引入微信支付SDK** 在项目中引入微信支付的...
* android:configChanges:指定Activity在配置改变时的行为 * android:enabled:指定Activity是否启用 * android:excludeFromRecents:指定Activity是否从最近任务列表中排除 * android:exported:指定Activity是否...
* android:configChanges:配置变化 * android:enabled:是否启用Activity * android:excludeFromRecents:是否排除最近的Activity * android:exported:是否导出Activity * android:finishOnTaskLaunch:是否在任务...
例如,添加`android:configChanges="orientation|screenSize"`,这会让系统知道当屏幕方向或尺寸变化时,Activity将自行处理配置更改,而不是被重新创建。然后在Activity中重写`onConfigurationChanged...