Android开发中 AndroidManifest.xml配置详解系列(四)

本文主要来分享Activity节点中的相关配置。如有错误,欢迎指正。

\

**更多Android技术分享可以关注[我的Android技术圈子](https://gobixiu.com/community/10000996),也可以join in 扣扣群:690347536,交流Android开发技能。**


1. android:allowEmbedded

标识此Activity是否可作为其他Activity的嵌入式子项启动。


2. android:allowTaskReparenting

跟Application中同名属性作用一样,请参见之前标签详解分享。


3. android:alwaysRetainTaskState

系统是否始终保持Activity所在任务的状态。


4. android:autoRemoveFromRecents

是否不保留在最近打开应用的列表中。


5. android:banner

一般在AndroidTV中使用,为特定Activity提供默认banner图。


6. android:clearTaskOnLaunch

每当从主屏幕启动本应用时,是否清除根Activity之外的所有Activity。


7. android:colorMode

请求在兼容设备上以广色域模式显示Activity。


8. android:configChanges

在运行时发生配置变更时,默认情况下会关闭Activity并将其重启,但使用该属性声明配置将阻止Activity重启,相反,Activity会保持运行状态,并且系统会调用其onConfigurationChanged()回调方法。

density:显示密度发生变更(API>=24)。

fontScale:字体缩放系数发生变更。

keyboard:键盘类型发生变更。

keyboardHidden:键盘无障碍功能发生变更。

layoutDirection:布局方向发生变更。

locale:语言区域发生变更。

mcc:IMSI移动设备国家/地区代码(MCC)发生变更。

mnc:IMSI移动设备网络代码(MNC)发生变更。

orientation:屏幕方向发生变更。

screenLayout:屏幕布局发生变更(API>=13)。

smallestScreenSize:物理屏幕尺寸发生变更。

touchscreen:触摸屏发生变更。

uiMode:界面模式发生变更,比如夜间模式发生变更(API>=8)。


9. android:directBootAware

Activity是否支持在用户解锁时世界启动。


10. android:documentLaunchMode

指定每次启动任务时,应如何向其添加新的Activity实例。


11. android:enabled

Activity是否可以实例化。


12. android:excludeFromRecents

是否应从最近使用的应用列表中,排除该Activity启动的任务。


13. android:exported

此元素设置Activity是否可由其他应用的组件启动。


14. android:finishOnTaskLaunch

每次应用启动时,该Activity是否被结束掉。


15. android:hardwareAccelerated

是否启动硬件加速。


16. android:icon

Activity的图标。


17. android:immersive

设置Activity进行沉浸式模式。


18. android:label

Activity中显示的标签主要在Actionbar或ToolBar中显示。


19. android:launchMode

启动Activity模式。

standard:默认,系统时钟会在目标任务中创建新的Activity实例,并向其传送Intent。

singleTop:如果目标栈的顶部已存在Activity实例,系统会调用实例的onNewIntent(),否则会创建新实例,放入栈顶。

singleTask:如果目标栈中存在Activity实例,系统会清除该实例上面的其他Activity,并且会调用该实例的onNewIntent(),否则创建新实例放入目标栈。

singleInstance:与singleTask相同,但系统不会将其他任何Activity启动到包含此实例的栈中,该Activity始终是其栈中的唯一Activity。


20. android:lockTaskMode

确定当设备在锁定任务模式下运行时,系统如何显示此Activity。


21. android:maxRecents

最近任务列表中位于此Activity根位置处的最大任务数。


22. android:maxAspectRatio

Activity支持的最大纵横比。


23. android:multiprocess

是否可以实例到其他进程中。


24. android:name

Activity的完整类名。


25. android:noHistory

当用户离开Activity且屏幕上不再显示该Activity时,是否应从Activity堆栈中将其移除并调用finish()方法。


26. android:parentActivityName

Activity逻辑父项的类名称。


27. android:persistableMode

定义当设备重启时,如何在包含任务中保留Activity实例。

persistRootOnly:默认值,系统重启时会保留Activity任务,但仅使用根Activity的启动Intent。(只有在应用的根Activity上设置此属性值后,该值才会影响应用的行为)。

persistAcrossReboots:系统将保留此Activity的状态,以及在此Activity之上的栈内的并且也设置了此属性值的Activity的状态。

persistNever:系统不会保留Activity的状态。


28. android:permission

启动Activity时需要的权限。


29. android:process

Activity运行进程的名称。


30. android:relinquishTaskIdentity

Activity是否会将其任务标识符交给任务栈中在其之上的Activity。


31. android:resizeableActivity

是否支持多窗口。


32. android:screenOrientation

Activity显示的方向。

unspecified:默认值,由系统选择方向。

behind:与Activity栈中紧接其后的Activity的方向相同。

landscape:横向。

portrait:纵向。

reverseLandscape:与正常横向相反的横向。

reversePortrait:与正常纵向相反的纵向。

senserLandscape:横向,但可根据设备传感器调整为正常或反向的横向。

senserPortrait:纵向,但可根据设备传感器调整为正常或反向的纵向。

userLandscape:横向,但可根据传感器和用户首选项调整正常或反向的横向。

userPortrait:纵向,但可根据传感器和用户首选项调整正常或反向的纵向。

senser:由设备传感器决定方向。

fullsenser:由使用4种方向中任一方向的设备方向传感器决定。

nosenser:与物理方向传感器无关。

user:用户当前首选方向。

fullUser:如果用户锁定基于传感器的旋转,则其行为与user相同,否则其行为与fullSenser相同。

locked:将屏幕方向锁定为其当前任意旋转方向。(API>=18)


33. android:showForAllUsers

当设备的当前用户不是启动Activity的用户时,是否显示Activity。


34. android:stateNotNeeded

在不保存Activity状态的情况下,能否终止并成功重启Activity。


35. android:supportsPictureInPicture

是否支持画中画。


36. android:taskAffinity

Activity所属的栈名。


37. android:theme

Activity的主题。


38. android:uiOptions

针对ActivityUI的附加选项。

none:默认值,无界面选项。

splitActionBarWhenNarrow:当水平空间受限制,在屏幕底部添加一栏,以显示应用栏中的操作项。


39. android:windowSoftInputMode

Activity的主窗口与包含软键盘窗口之间的交互方式。

stateUnspecified:不指定软键盘的状态,系统会选择合适的状态,或依赖主题中的设置,对软键盘的默认值。

stateUnchanged:当Activity转至前台时保留软键盘最后所处的状态。

stateHidden:当用户选择Activity时,隐藏软键盘。

stateAlwaysHidden:当Activity的主窗口有输入焦点时始终隐藏软键盘。

stateVisible:在正常的适宜情况下显示软键盘。

stateAlwaysVisible:当用户选择Activity时,显示软键盘。

adjustUnspecified:不指定Activity的主窗口是否通过调整尺寸为软键盘腾出空间,或者是否通过平移窗口内容以在屏幕上显示当前焦点,这是对主窗口行为的默认设置。

adjustResize:始终调整Activity主窗口尺寸,为软键盘腾出空间。

adjustPan:不通过调整Activity主窗口的尺寸为软键盘腾出空间,但窗口内容会自动平移,使软键盘无法遮挡当前焦点,以便用户始终能看到自己输入的内容。


**更多Android技术分享可以关注[我的Android技术圈子](https://gobixiu.com/community/10000996),也可以join in 扣扣群:690347536,交流Android开发技能。**

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容