1、android:allowEmbedded="true"
2、android:allowTaskReparenting="true"
是否允许该activity从打开它的task中移动到其它的task中,默认值为false。
3、android:alwaysRetainTaskState="true"
Activity所在的task是否一直由系统维护,true表示是,false表示允许系统在某些状态下重置任务到初始化状态。默认值为false。
4、android:autoRemoveFromRecents="true"
true表示该Activity会从最近的任务列表中移除。
5、android:clearTaskOnLaunch="true"
该属性用于打开应用时,是否清除最近打开的任务列表,true表示清除,false表示不清除。例如:打开应用显示界面A,界面A上有
个按钮可以打开界面B,如果界面A设置了该属性为true,点击home键返回主界面,再次点击图标进入APP,显示的是界面A,如果该属性
设置为false,点击home键返回主界面,再次点图标进入APP,显示的界面B。
6、android:configChanges="orientation"
取值:fontScale、keyboard、keyboardHidden、layoutDirection、locale、navigation、mcc、mnc、orientation
、screenLayout、screenSize、touchscreen、uiMode.
值 | 说明 |
“mcc” | 国际用户移动识别码(IMSI)移动国家代码改变, 其实就是检测到了新的SIM卡并更新了MCC. |
“mnc” | 国际用户移动识别码(IMSI)移动网络代码改变, 同上也是检测到了SIM卡改变并更新了MNC. |
“locale” | 语言环境改变, 用户通过设置改变了系统语言. |
“touchscreen” | 触屏发生了变化(这个应该永远都不会被触发). |
“keyboard” | 键盘类型改变, 比如用户接入了一个外部键盘. |
“keyboardHidden” | 键盘辅助改变, 比如用户接入了一个硬件键盘. |
“navigation” | 导航类型发生变化(轨迹球或者dpad), 通常不会发生. |
“screenLayout” | 屏幕布局发生改变.可能由于一个不同的显示屏被激活. |
“fontScale” | 字体缩放参数改变, 通常由于用户选择了一个新的全局字体大小. |
“uiMode” | UI模式改变, 通常由于用户将设备接入桌面/汽车插槽, 或者夜晚模式开启. |
“orientation” | 屏幕方向改变. |
“screenSize” | 当前可用屏幕尺寸改变. 在屏幕方向发生变化的时候, 该配置将会变化. |
“smallscreenSize” | 屏幕物理尺寸发生变化, 通常是用户换了一个屏幕. |
“layoutDirection” | 布局方向发生变化, 比如left-to-right (LTR) 改为 right-to-left (RTL) |
7、android:description="@string/app_name"
描述APP的String资源
8、android:documentLaunchMode="always"
当APP打开一个文档时,Activity会受这个属性的影响。
值 | 说明 |
“intoExisting” | activity重用已经存在的任务打开文档. 使用这个设置相当于设置了”FLAG_ACTIVITY_NEW_DOCUMENT”标志, 而不设置”FLAG_ACTIVITY_MULTIPLE_TASK” 标志. |
“always” | activity为文档创建一个新的任务, 就算文档已经被打开, 依然会重新创建一个任务. 相当于设置了”FLAG_ACTIVITY_NEW_DOCUMENT”和”FLAG_ACTIVITY_MULTIPLE_TASK”标志. |
“none” | activity不会为文档新建任务, 该值为默认值, 当设置了”FLAG_ACTIVITY_NEW_DOCUMENT”标记时候才会新建. |
“never” | 即便设置了”FLAG_ACTIVITY_NEW_DOCUMENT”标志也不会创建新的任务. 该值会覆盖”FLAG_ACTIVITY_NEW_DOCUMENT”和”FALG_ACTIVITY_MULTIPLE_TASK”标志, 使已设置的这两个标志不再生效. |
none和never必须和launchMode=”standard”一起使用, 如果没设置, none为默认值.
9、android:enabled="true"设置该Activity是否可以被实例化,true表示可以,false表示不行,默认不可以。
10、android:excludeFromRecents="true"
指定该Activity所在的Task是否能存在历史记录中,true表示不保存在历史记录中,false表示保存在历史记录中。
11、android:exported="true"
设置能否被其它应用打开该Activity,true表示可以在其他应用中打开,false表示只能在自己的应用中打开。
默认值则取决于activity是否包含intent filters,不包含则默认false,外部应用也无法知道类名,包含则true,可以被外部启动
12、android:finishOnCloseSystemDialogs="true"
13、android:finishOnTaskLaunch="true"
设置启动该应用时,是否结束当前的Task,默认值为false,表示不结束,true,表示结束。
14、android:hardwareAccelerated="true"设置该Activity是否使用硬件加速渲染,true表示使用,false表示不适用,默认值为false。
15、android:immersive="true"16、android:label="@string/app_name"
应用名称
17、android:launchMode="singleInstance"
设置该Activity的启动模式
standard 标准启动模式
singleTop 单一顶部模式
singleTask 单一任务模式
singleInstance 单一实例模式。
18、android:lockTaskMode="always"
19、android:multiprocess="true"
默认是false,通常Activity实例会加到它的应用进程中,如果设置为true,则可以运行在其他进程中。
20、android:noHistory="true"
默认为false,用户接受该Activity时,不从堆栈中删除,如果为true,则删除,表示没有历史记录,用户无法返回。
21、android:parentActivityName=".MainActivity"
定义点击Action bar是启动那个页面。
22、android:persistableMode="persistAcrossReboots"
23、android:relinquishTaskIdentity="true"
24、android:resumeWhilePausing="true"
25、android:screenOrientation="behind"
指定Activity在屏幕上的显示方向:
unspecified: 这个是默认值, 意思是由系统选择方向. 不同设备可能有不同的表现.
behind: 意识是activity的方向跟backstack中的前一个activity相同.
landscape: 横屏方向(显示屏的宽度大于高度).
portrait: 纵向方向(显示屏的高度大于宽度).
reverseLandscape: 跟普通的横屏相反的方向.
reversePortrait: 跟普通的纵屏相反的方向.
sensorLandscape: 传感器横屏, 根据传感器方向决定向哪个方向横屏.
sensorPortrait: 传感器纵屏, 根据传感器方向决定向哪个方向纵屏.
userLandscape: 如果用户关闭了传感器, 那么它等同于landscape,如果用户打开传感器, 那么它等同于sensorLandscape.
userPortrait: 如果用户关闭了传感器, 那么它等同于portrait,如果用户打开传感器, 那么它等同于sensorPortrait.
sensor: 由传感器决定方向. 当用户旋转屏幕的时候会跟着转. 但是个别设备可能不会支持全部的四个方向.
fullSensor: 跟sensor类似, 但是可以支持全部的四个方向,有些设备可能不支持reverseLandscape和reversePortrait,
但是通过设置该属性就可以支持了.
nosensor: 忽略传感器, 系统选择策略跟unspecified相同.
user: 用户当前优选的方向.
fullUser: 如果用户锁定了传感器, 那么fullUser和user表现相同, 否则就跟fullSensor相同.
locked: 锁定为当前的方向, 不管是啥.
26、android:showForAllUsers="true"27、android:showOnLockScreen="true"
28、android:stateNotNeeded="true"
默认为false,重启Activity需要之前的状态,true时,表示不需要之前的状态,不调用onSaveInstanceState(),
主屏Activity设置此属性为true,即便崩溃也能在缺省状态重启
29、android:theme="@android:style/Theme.Black.NoTitleBar"
设置该Activity显示的主题,android自己定义了很多主题 可根据自己的需要设置。
30、android:uiOptions="splitActionBarWhenNarrow"
为Activity的ui设置一个额外的选项。
取值:splitActionBarWhenNarrow:为activity在屏幕下方添加一个动作栏.
31、android:windowSoftInputMode="adjustPan|stateHidden"设置Activity主窗口和软键盘怎么交互:
1、当获得焦点时,是否显示软键盘。
2、当Activity窗口有所调整时,是调整Activity适应软键盘呢,还是覆盖Activity上的某些内容。
值 | 描述 |
stateUnspecified | 软键盘状态未指定. 该值为默认值. 系统将会自己采取合适的策略或者依赖于主题中的设置来管理软键盘. |
stateUnchanged | 当activity获得焦点时, 软键盘保持它上次出现时的状态. |
stateHidden | 当用户选中该activity的时候, 软键盘隐藏. 意思是用户开启一个activity, 而不是通过返回键回到这个activity. |
stateAlwaysHidden | 当activity的主窗口获得输入焦点的时候, 软键盘总是隐藏的. |
stateVisible | 当用户正常打开activity的时候, 显示软键盘. |
stateAlwaysVisible | 开启一个activity的时候总是显示软键盘, 通过返回键返回到activity不算. |
adjustUnspecified | 不指定activity如何为软键盘腾出空间, 系统会根据具体情况来决定选择adjustResize或者adjustPan方式. 当调整尺寸可以让所有的内容都可见的时候, 那么就选择adjustResize. |
adjustResize | activity的主窗口总是通过调整尺寸来为软键盘腾出空间. |
adjustPan | activity的主窗口不会通过调整尺寸来为软键盘腾出空间, 而是通过平移窗口来使输入焦点不会被软键盘挡住, 官方认为这种方法通常不如调整尺寸来的效果好, 因为输入的时候用户就看不见被软键盘挡住的部分了. |
总结:本来只是遇到和软键盘交互问题,然后在网上查资料,通过设置Activtiy的属性,把问题解决了;之后发现Activity还是好多
属性都不知道是干什么的,于是决定把Activity的所有属性都看一下,有个印象,看了之后也是完全懵逼,在网上找资料查看,于是
找到以下两篇文章写的比较清晰、详细、完整、,http://www.aichengxu.com/view/81080
http://blog.csdn.net/jackie_leon/article/details/40663981
先看后抄再加上copy写了以上内容,不想转载是因为看了一遍,感觉一点印象都没有。中间还有几个属性什么也没有写,是因为一点也看
不懂啊。希望以后加上。