Android运行时配置更改

Android支持在运行时更改语言,位置、硬件、它是通过终止和重启activity来实现上诉功能的。可起到强制重新评估activity中使用的资源的分辨率,并为心得配置选择最合适的资源值。

要让activity可以监听运行时配置更改,需要向它的manifest节点中添加一个android:configChanges属性来说明希望对哪些配置更改进行处理

下面的列表描述了可以指定的运行时更改:

mcc和mnc    检测到sim,并且与之关联的国家或者网络的代码发生了变化

locale    用户改变了设备的语言设置

keyboardHidden     显示或者隐藏了键盘、D-pad或者其他输入机制

keyborad    对键盘的类型进行了更改。

fontScale    用户修改了首选的字体大小

uiMode    整体UI模式发生了变化。如汽车模式,白天或者夜间模式

orientation    屏幕在纵向和横向之间进行旋转(注:在制作视频播放器时,该属性可解决屏幕旋转后activity重新创建的问题)

screenLayout    屏幕布局发生了变化,如激活另外一个屏幕,

screenSize    当可用屏幕大小发生改变,如横向和纵向之间变化时

smallestScreenSIze 当物理屏幕尺寸改变时,如链接到外显示器

时间: 2024-10-25 03:23:19

Android运行时配置更改的相关文章

【Android运行时权限申请快速学习教程】

1. Android权限介绍 Android权限是Android应用在设备上运行所需要的权力,义务就是为用户带来此Android应用的功能. 问题来源:在Android6.0版本之前,根据App在AndroidManifest申请的权限,在安装此App的时候进行提示权限允许,不允许就不给装不给用,那么我们只能默默的忍受这个APP对我们隐私的侵蚀(Eg.通讯录的读取权限). 解决办法:后来Google发现,诶,这样会导致Android用户们想用这个APP的某些功能而不能用.因此,在Android6

java-基础入门-泛型数组列表-解决运行时动态更改数组的问题

泛型数组列表,主要是为了解决运行时动态更改数组的问题 平常我们会定义一个部门里面的人员的一个数组, 但是在实际业务当中,这个数组的大小往往是不确定的, 如果定义过大,那么会浪费空间,定义过小,又不够用, 因为为了解决运行时动态更改数组的问题,我们提出下面的解决方案. package com.ray.object; import java.util.ArrayList; /** * 泛型数组列表 ,解决运行时动态更改数组的问题 * * @author ray * @since 2015-05-04

Qt for android运行时出错 Error: Target id 'android--1' is not valid

[提问]windows7下Qt for android运行时出错 Error: Target id 'android--1' is not valid[复制链接] 上一主题下一主题   离线yijunziran 新手上路 加关注 发消息 只看楼主 倒序阅读楼主  发表于: 2015-04-11 程序是正确的,在Window环境下运行OKAndroid模拟器能跑起来. 在Android上运行时出现这种情况 22:19:48: 进程"D:\Qt\Qt5.4.1\Tools\mingw491_32\b

opcache运行时配置参数详解

测试帖: http://www.aikaiyuan.com/6430.html 配置如下: opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 配置说明: PHP的opcode缓存又出了新成员(说新不新,也有

Android运行时注解

Android的注解有编译时注解和运行时注解,本文就介绍下运行时注解. 其实非常简单,直接上代码:本文主要是替代传统的findViewById()的功能,就是在我们Activity中不需要再使用findViewById()去给View赋值了,通过注解在运行阶段自动赋值.以及setOnClickListener()也是一样的原理.使用注解和反射技术. 1. 定义自己的annotation注解. 定义findViewbyId这个功能的注解 package com.xxx.xxx.xxx; impor

Android运行时动态权限获取

运行时动态权限简介 在targetSdkVersion小于23的应用中默认授予AndroidManifest中声明的所有权限,而无需手动授予.当targetSdkVersion在23或以上时,应用默认不会授予"Dangerous"级别的权限,Android默认只要授予该组一个权限即可获得该组的所有权限. 动态权限获取 下面将演示如何通过运行时权限获取来调用系统相机进行拍照和录制视频 首先以targetSdkVersion 23来编译调试应用,要调用相机拍照并存储需要在在AndroidM

Android运行时异常“Binary XML file line # : Error inflating class”

在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉...... 我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决: 1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用. 2.构造函数问题:自定义一个V

Android(java)学习笔记152:Android运行时异常“Binary XML file line # : Error inflating class”

在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉......     我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决:     1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用.     2.构

android运行时异常:Binary XML file line # : Error inflating class

自定义View时出现的,搞了好半天终于搞好了. 继承View时要要实现它所有的构造函数. 如: 1 public class hongdian extends View { 2 float x=40; 3 float y=50; 4 Paint p = new Paint(); 5 //要实现的构造 6 public hongdian(Context context) { 7 super(context); 8 } 9 //要实现的构造函数 10 public hongdian(Context