Android中清单文件引入配置参数,【Android 清单文件下的 Activity各种配置详解】

先说 android:launchMode 属性:

这篇博客对该属性说的比较清楚,请点击这里。

android:screenOrientation 属性

Android默认就是这个属性,android:screenOrientation=”unspecified”

这是一个默认值,由系统选择显示方向,在不同的设备上可能结果不太一样.

android:screenOrientation=”landscape” 横向屏幕

android:screenOrientation=”portrait” 竖向屏幕

android:screenOrientation=”user” 用户当前首选方向

android:screenOrientation=”behind” 与在活动(Activity)堆栈下的Activity方向相同

android:screenOrientation=”sensor” 根据物理方向传感器 来确定方向,比如有的游戏既支持竖屏也支持横屏,取决于用户手持方向.

android:screenOrientation=”nosensor” 不随 物理方向传感器确定方向,该传感器呗忽略,所以当用户转动设备,显示不会跟随改变,除了这个区别. 这个怎么理解呢? 其实可以理解成系统关闭重力感应.

或者在代码这样设置也可以:

@Override

protected void onResume() {

/** * 设置为横屏 */

if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

super.onResume(); //注意在super.onResume()之前

}

android:configChanges 属性

周所周知,在Android横竖屏切换的时候,活动的生命周期是重新再执行一遍的。未避免这个问题,我们可以这样处理的:

在android 4.0 以上,必须要加上screenSize,也就是说android 4.0以后的版本必须这样配置:

android:configChanges="keyboardHidden|orientation|screenSize"

在配置了这个属性后,android:configChanges 属性就会捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。这样横竖屏切换时,活动的生命周期也不会重新再执行一遍啦。我们也可以在重写的onConfigurationChanged()方法做相应处理。

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

/* if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { System.out.println("SecondActivitydd.onConfigurationChanged 横屏"); } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { System.out.println("SecondActivitydd.onConfigurationChanged 竖屏"); }*/

switch (newConfig.orientation) { //屏幕的方向,和上面注释掉的代码效果一样

case Configuration.ORIENTATION_PORTRAIT://竖屏

System.out.println("SecondActivitydd.onConfigurationChanged 竖屏");

break;

case Configuration.ORIENTATION_LANDSCAPE://横屏

System.out.println("SecondActivitydd.onConfigurationChanged 横屏");

break;

}

}

相应参数说明:

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

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

“mcc“ 移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。

“mnc“ 移动网号,在一个国家或者地区中,用于区分手机用户的服务商。

“locale“ 所在地区发生变化。

“touchscreen“ 触摸屏已经改变。(这不应该常发生。)

“keyboard“ 键盘模式发生变化,例如:用户接入外部键盘输入。

“keyboardHidden“ 用户打开手机硬件键盘

“navigation“ 导航型发生了变化。(这不应该常发生。)

“orientation“ 设备旋转,横向显示和竖向显示模式切换。

“fontScale“ 全局字体大小缩放发生改变

exported 属性

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。

总体来说它的主要作用是:是否支持其它应用调用当前组件。

默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false。

android:enabled 属性

默认情况下,Android系统会自行实例化每一个应用程序的组件,包括Android四大组件,但如果我们需要自己完成这些事情的话,就需要使用android:enabled属性来限制Android系统的行为。这个属性表明Android系统是否可以被实例化应用程序组件,如果其值为true,则说明应用程序组件可以被Android系统自动实例化;如果为false,则说明实例化组件的工作需要手工完成。该属性的默认值为true。每一个组件都可以单独定义自己的enabled属性。如果这个属性定义在节点中,那么它会默认将每个组件的enabled属性设置为相同的值。如果每一个组件单独定义了这个属性,那么节点上定义的属性对此组件不再生效,就由自己的enabled属性决定。

android:allowBackup

它表示是否允许应用程序参与备份。如果将该属性设置为false,则即使备份整个系统,也不会执行这个应用程序的备份操作,而整个系统备份能导致所有应用程序数据通过ADB来保存。该属性必须是一个布尔值,或为true,或为false,其默认值为true。

参考博客:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值