resizeable=["true"|"false"]
android:
smallScreens=["true"|"false"]
android:
normalScreens=["true"|"false"]
android:
largeScreens=["true"|"false"]
android:
xlargeScreens=["true"|"false"]
android:
anyDensity=["true"|"false"]
android:
requiresSmallestWidthDp="integer"
android:
compatibleWidthLimitDp="integer"
android:
largestWidthLimitDp="integer"/>
应用配置的根元素,位于下层,包含所有与应用有关配置的元素,其属性可以作为子元素的默认属性,常用的属性包括:
应用名android:
label,应用图标android:
icon,应用主题android:
theme等。
当然,标签还提供了其他丰富的配置属性,由于篇幅原因就不列举了,大家可以打开AndroidSDK文档来进一步学习,以下是语法范例。
A、android:
allowClearUserData('true'or'false')
用户是否能选择自行清除数据,默认为true,程序管理器包含一个选择允许用户清除数据。
当为true时,用户可自己清理用户数据,反之亦然
B、android:
allowTaskReparenting('true'or'false')
是否允许activity更换从属的任务,比如从短信息任务切换到浏览器任务
C、android:
backupAgent
这也是Android2.2中的一个新特性,设置该APP的备份,属性值应该是一个完整的类名,如com.project.TestCase,此属性并没有默认值,并且类名必须得指定(就是个备份工具,将数据备份到云端的操作)
D、android:
debuggable
这个从字面上就可以看出是什么作用的,当设置为true时,表明该APP在手机上可以被调试。
默认为false,在false的情况下调试该APP,就会报以下错误:
DeviceXXXrequiresthatapplicationsexplicitelydeclarethemselvesasdebuggableintheirmanifest.
ApplicationXXXdoesnothavetheattribute'debuggable'settoTRUEinitsmanifestandcannotbedebugged.
E、android:
description/android:
label
此两个属性都是为许可提供的,均为字符串资源,当用户去看许可列表(android:
label)或者某个许可的详细信息(android:
description)时,这些字符串资源就可以显示给用户。
label应当尽量简短,之需要告知用户该许可是在保护什么功能就行。
而description可以用于具体描述获取该许可的程序可以做哪些事情,实际上让用户可以知道如果他们同意程序获取该权限的话,该程序可以做什么。
我们通常用两句话来描述许可,第一句描述该许可,第二句警告用户如果批准该权限会可能有什么不好的事情发生
F、android:
enabled
Android系统是否能够实例化该应用程序的组件,如果为true,每个组件的enabled属性决定那个组件是否可以被 enabled。
如果为false,它覆盖组件指定的值;所有组件都是disabled。
G、android:
hasCode('true'or'false')
表示此APP是否包含任何的代码,默认为true,若为false,则系统在运行组件时,不会去尝试加载任何的APP代码
一个应用程序自身不会含有任何的代码,除非内置组件类,比如Activity类,此类使用了AliasActivity类,当然这是个罕见的现象
(在Android2.3可以用标准C来开发应用程序,可在androidManifest.xml中将此属性设置为false,因为这个APP本身已经不含有任何的JAVA代码了)
H、android:
icon
这个很简单,就是声明整个APP的图标,图片一般都放在drawable文件夹下
I、android:
killAfterRestore
J、android:
manageSpaceActivity
K、android:
name
为应用程序所实现的Application子类的全名。
当应用程序进程开始时,该类在所有应用程序组件之前被实例化。
若该类(比方androidMain类)是在声明的package下,则可以直接声明android:
name="androidMain",但此类是在package下面的子包的话,就必须声明为全路径或android:
name="package名称.子包名成.androidMain"
L、android:
permission
设置许可名,这个属性若在上定义的话,是一个给应用程序的所有组件设置许可的便捷方式,当然它是被各组件设置的许可名所覆盖的
M、android:
presistent
该应用程序是否应该在任何时候都保持运行状态,默认为false。
因为应用程序通常不应该设置本标识,持续模式仅仅应该设置给某些系统应用程序才是有意义的。
N、android:
process
应用程序运行的进程名,它的默认值为元素里设置的包名,当然每个组件都可以通过设置该属性来覆盖默认值。
如果你想两个应用程序共用一个进程的话,你可以设置他们的android:
process相同,但前提条件是他们共享一个用户ID及被赋予了相同证书的时候
O、android:
restoreAnyVersion
同样也是android2.2的一个新特性,用来表明应用是否准备尝试恢复所有的备份,甚至该备份是比当前设备上更要新的版本,默认是false
P、android:
taskAffinity
拥有相同的affinity的Activity理论上属于相同的Task,应用程序默认的affinity的名字是元素中设定的package名
Q、android:
theme
是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似style。
allowTaskReparenting=["true"|"false"]
android:
backupAgent="string"
android:
debuggable=["true"|"false"]
android:
description="stringresource"
android:
enabled=["true"|"false"]
android:
hasCode=["true"|"false"]
android:
hardwareAccelerated=["true"|"false"]
android:
icon="drawableresource"
android:
killAfterRestore=["true"|"false"]