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中被引入。
AndroidManifest.xml文件详解(activity)(五)的更多相关文章
- [转]AndroidManifest.xml文件详解
转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...
- AndroidManifest.xml文件详解(uses-permission)
语法(SYNTAX): <uses-permissionandroid:name="string"/> 被包含于(CONTAINED IN): <manifest ...
- AndroidManifest.xml文件详解
本文为安全专家李洋的最新一篇专栏文章<AndroidManifest.xml文件详解>.AndroidManifest.xml是一个跟安全相关的配置文件,该配置文件是Android安全保障 ...
- AndroidManifest.xml文件详解(meta-data)
http://blog.csdn.net/think_soft/article/details/7567189 语法(SYNTAX): <meta-dataandroid:name=" ...
- AndroidManifest.xml文件详解(activity)(一)
<activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetai ...
- AndroidManifest.xml文件详解(activity)(四)
android:multiprocess 这个属性用于设置Activity的实例能否被加载到与启动它的那个组件所在的进程中,如果设置为true,则可以,否则不可以.默认值是false. 通常,一个新的 ...
- AndroidManifest.xml文件详解(activity)(三)四种工作模式
android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...
- AndroidManifest.xml文件详解(activity)(二)
android:configChanges 这个属性列出了那些需要Activity进行自我处理的配置变化.当在运行时配置变化发生的时候,默认情况下,这个Activity会被关掉并重启,但是用这个属性声 ...
- 【Android 复习】:AndroidManifest.xml 文件详解
<?xml version="1.0" encoding="utf-8"?> <!-- package 包表示整个Android应用程序的主要 ...
随机推荐
- JDBC:数据库操作:BLOB数据处理
CLOB主要保存海量文字,而BLOB是专门保存二进制数据:包括,图片,音乐,影片.等. 在MYSQL中,BLOB类型使用LONGBLOB声明,最高可存储4G内容. 创建一个表: create tabl ...
- Drupal的错误和异常处理
Drupal在配置阶段的最开始就设置了自己的错误处理器和异常处理器: function _drupal_bootstrap_configuration() { set_error_handler('_ ...
- Linux内核project导论——网络:路由:路由原理
总览 路由表 IP层通过路由将数据包送达该送达的目的地址,这就要求在整个网络中建立正确的路由表.路由表的内容是记录要到达哪里下一跳须要发到哪里(能够是port能够是ip),如此整个网络在单个节点仅仅知 ...
- C语言-结构体内存对齐
C语言结构体对齐也是老生常谈的话题了.基本上是面试题的必考题.内容虽然很基础,但一不小心就会弄错.写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的 ...
- 升级macOS Sierra系统 导致错误 app: resource fork, Finder information, or similar detritus not allowed
前几天刚升级了macOS Sierra系统,顿时感觉入坑了,本来好好的项目报如下错误: app: resource fork, Finder information, or similar detri ...
- SQL面试题: 数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列 ,当B列大于C列时选择B列否则选择C列 ,
1.用一条sql语句 select (case when a>b then a else b end ),(case when b>c then b esle c end) from 表 ...
- 自制MVC框架的插件与拦截器基础
上篇谈到我自己写的MVC框架,接下来讲讲插件及拦截器! 在处理一些通用的逻辑最好把它封装一个插件或者拦截器,以便日后可以直接拿过来直接使用.在我的框架中可以通过继承以下抽象类来实现插件或者拦截器. 1 ...
- php实现IP地址和数字相互转换
echo $a=ip2long ("202.97.224.68");//地址转换成数字 系统自带的函数 注:这里面有一个要注意的地方,大概由于PHP无法正确判断转换完的数字类型,出 ...
- composer自动加载一个文件后必须执行命令composer dump-autoload
"autoload": { "classmap": [ "database" ], "psr-4": { "A ...
- List 通过 Collections.binarySearch 进行记录筛选
1. Collections.sort(list, new Comparator<TreeDto>() { @Override public int compare(TreeDto a2, ...