AndroidManifest.xml文件详解(activity)(五)
android:taskAffinity
这个属性用于跟Activity有亲缘关系的任务。带有相同亲缘关系的Activity,在概念上是属于相同任务的(从用户的角度看,它们是属于同一应用程序的)。任务的亲缘关系是通过它的根节点的Activity的亲缘关系来判定的。
亲缘关系决定了两件事情:1.Activity能否重新设定父任务(看allowTaskReparenting属性);2.这个任务能够包含用FLAG_ACTIVITY_NEW_TASK标记启动的Activity。
默认情况下,在一个应用程序中的所有Activity都有相同的亲缘关系。能够通过设置这个属性把Activity分到不同的组中。甚至能够把定义在不同应用程序中的Activity放到同一个任务中。要指定一个跟任何任务没有亲缘关系的Activity,就要把这个属性设置为空字符串。
如果这个属性没有设置,那么这个Activity会继承应用程序的亲缘关系(看<application>元素的taskAffinity属性)。应用程序默认的亲缘关系名称是由<manifest>元素的package属性设定包名。
android:theme
这个属性用于设定Activity整体主题,它会应用一个样式资源。系统会使用这个主题来自动的设置Activity的内容。
如果这个属性没有设置,Activity会继承应用程序的主题(<application>元素的theme属性)做它的整体样式。如果这个属性也没有设置,那么默认使用系统的主题。
android:uiOptions
这个属性用于设置Activity的UI的额外选项,它必须是下表中的一个值。
值 | 说明 |
none | 默认设置,没有额外的UI选项。 |
splitActionBarWhenNarrow | 在水平空间受到限制的时候,会在屏幕的底部添加一个用于显示ActionBar中操作项的栏,例如:在纵向的手持设备上。而不是在屏幕顶部的操作栏中显示少量的操作项。它会把操作栏分成上下两部分,顶部用于导航选择,底部用于操作项目。这样就会确保可用的合理空间不仅只是针对操作项目,而且还会在顶部给导航和标题留有空间。菜单项目不能被分开到两个栏中,它们要显示在一起。 |
这个属性在API Level 14中被引入。
android:windowSoftInputMode
这个属性用于设定Activity的主窗口与软件键盘的窗口如何交互。设置这个属性会影响以下两件事情:
1. 软键盘的状态---在Activity获取输入焦点时,软键盘是隐藏还是显示。
2. 调整Activity的主窗口---是调整Activity主窗口的大小,以便给软键盘腾出显示空间;还是在Activity窗口中的输入焦点被软键盘覆盖时,让Activity窗口中的内容平移,以便输入焦点能够显示给用户。
这个属性必须用下表中的一个值来设定,或者是一个state…的值和一个adjust…的值的组合。如:
<activityandroid:windowSoftInputMode="stateVisible|adjustResize" . . . >
这个属性设置的值会覆盖主题中设置的值。
值 | 说明 |
stateUnspecified | 它不指定软键盘的状态(显示或隐藏)。系统会选择合适的状态,或者依赖主题中的设置。 它是软键盘行为的默认设置。 |
stateUnchanged | 当Activity显示在前台时,软键盘会保持它最后的状态(显示或隐藏) |
stateHidden | 当用户选择这个Activity时,软键盘会隐藏。也就是说,当用户确认向前浏览到这个Activity的时候,而不是因为离开另一个Activity而返回这个Activity的时候。 |
stateAlwaysHidden | 当Activity的主窗口有输入焦点时,软键盘会始终隐藏 |
stateVisible | 在适当的时候(通常是用户浏览到这个Activity的主窗口),软键盘是可见的。 |
stateAlwaysVisible | 当用户选择了这个Activity时,软键盘变的可见,也就是说,当用户确认向前浏览到这个Activity的时候,而不是因为离开另一个Activity而返回这个Activity的时候。 |
adjustUnspecified | 这个值并不指定Activity的主窗口会软键盘的显示而进行大小的调整,也不会指定Activity的主窗口是否会平移,以便把因软键盘所遮挡的输入焦点显示给用户。系统会依赖内容窗口中的内容是否能够滚动,来自动的选择这两种模式。如果Activity窗口中有一个能够滚动的布局,那么这个窗口就会被调整大小,并假设通过滚动能够在一个较小的区域内来浏览窗口中所有的内容。 |
adjustResize | 为适应软键盘的显示,Activity的主窗口始终要调整大小。 |
adjustPan | Activity的主窗口不会因软键盘的显示而调整大小,相反,窗口中的内容会被自动的平移,以便输入焦点不会被软键盘所遮挡,并且用户能够看到他们所输入的内容。通常很少使用这种模式,因为用户可能需要关闭软键盘,以便能够跟软键盘所遮挡进行交互。 |
这个属性在API Level 3中被引入。
元素引入(INTRODUCED IN)
处理noHistory和windowSoftInputMode属性以外(这两个属性在API Level 3中被引入),其他所有的属性都在API Level 1中被引入。
摘自 FireOfStar的专栏
补充:移动开发 , Android ,