16.android:permission
表示的是权限名称。如果startActivity()或者startActivityForResult()的调用者还没有被授予指定的权限,则启动失败。
如果该属性没有设置,则<application>元素的permission属性设置的权限就应该应用到Activity中。如果这两个属性都没有设置,则Activity就不会被权限保护。
17.android:process
该属性表示该Activity运行的进程名称。通常,应用程序的所有组件在为应用程序而创建的默认进程中运行。<application>元素的process属性可以为所有组件设置一个不同的进程,但是每个组件可以覆盖这个属性的值,这样就实现了将应用程序部署在多个进程间。
如果分配该属性的名称是以冒号(:)开头,则在需要新进程并且Activity在该进程中运行的时候,就会创建一个对于应用程序私有的新进程。
18.android:screenOrientation
该属性表示Activity显示的方向(比如纵向,横向),它是值可以是下表中的任意一个字符。
取值 | 说明 |
unspecified |
默认值,根据重力感应选择方向 |
user | 用户当前偏好的方向 |
behind | 和Activity相同的方向 |
landscape | 横向 |
portrait | 纵向 |
reverseLandscape |
与正常横向相反方向 的横向 |
reversePortrait | 与正常纵向相反方向的纵向 |
sensorLandscape |
只能是横向,但是可以根据重力感应来决定是正常的还是反转的横向 |
sensorPortrait | 中能是纵向,但是可以根据重力感应来决定是正常的或者反转的纵向 |
sensor | 方向由设备方向感应器来决定。显示的方向取决于用户是如何持有设备的;在用户翻转设备时,方向发生改变。有些设备在默认情况下不会翻转到所有4个可能的方向。要允许可翻转到所有4个方向,可以使用fullSensor |
fullSensor | 方向由设备方向感应为4个方向中的任意一个而确定 |
fullSensor | 无感应模式 |
19.android:stateNotNeeded
该属性表明Activity是否能被终止以及是否能在还没有保存其状态的情况下成功重启。如果Activity可以在不需要引用到之前状态的情况下就能被重启,则该属性为true;如果需要引用到之前的状态才能被重启,则为false。默认值是false。
通常,在暂时关闭Activity之前,我们要调用onSaveInstanceState()方法来保存当前的Activity的状态。该方法在Bundle对象中存储Activity的当前状态,该对象在重启Activity时将会以参数的方式传给onCreate()方法。如果该属性被设置为true,则onSaveInstanceState()就不会被调用,并且onCreate()会被传递null,这和Activity首次启动时所做的一样。
20.android:taskAffinity
该属性指明对该Activity有亲和力的任务。有同样亲和力的Activity在概念上属于同一任务(默认情况下是应用程序所定义的任务)。任务的亲和力是由其根Activity的亲和力所决定的。
21.android:theme
该属性是指为Activity定义一个整体主题风格资源的引用。所谓的风格包括字体种类,整体样式等。使用该属性可以使得我们的Activity在整体上更为统一,美观。
如果没有设置该属性,则Activity继承将应用程序作为一个整体而设置的主题,具体可见<application>元素的theme属性。如果theme属性也没有设置,则使用默认系统主题。
22.android:windowSoftInputMode
该属性表示Activity的主窗口如何与包含屏幕软键盘的窗口交互。设置该属性将影响两件事。
①软键盘的状态。当Activity获取输入焦点时,是否隐藏软键盘。
②对Activity主窗口的调整。该窗口是否被调整得更小一些来为软键盘腾出空间,或者它的内容是否被移动以便在部分窗口被软键盘覆盖时,使得当前焦点可见。
该属性或者是下表的一个值,或者是state...值和adjust...值的组合。如果是多个值的组合,则使用(|)将其隔开,例如
<activity android:windowSoftInputMode="stateVisible|adjustResize" .....>
这里设置的值(stateVisible和adjustResize)覆盖了设置在主题中的值。
值 |
描述 |
stateUnspecified |
没有指定的软键盘(是否隐藏或者可见)的状态。系统将选择一个合适的状态或者依赖主题中的定义来设置。这对于软键盘的行为是默认设置。 |
stateUnchanged |
软键盘保持在它最后存在的任何状态中 |
stateHidden |
在用户选择Activity时,软键盘是可见的 |
stateAlwaysHidden |
当Activity有输入焦点时(比如编辑框获得焦点的时候),软键盘总是隐藏的。 |
stateVisible | 当用户进入Activity的主窗口时,软键盘是可见的 |
stateAlwaysVisible |
当用户选择Activity时,软键盘可见 |
adjustUnspecified |
Activity的主窗口是否调整尺寸来为软键盘腾出空间 |
adjustResize | Activity的主窗口总是被调整来为屏幕上的软键盘腾出空间 |
adjustPan | Activity的主窗口不会被调整为屏幕上的软键盘腾出空间 |