<meta-data>
版本:Android 3.2
语法:
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
包含于:
<activity> <activity-alias> <service> <receiver>
说明:
以键-值对形式表示的用于父组件的任意附加数据。组件元素可以包含任意数量的<meta-data> 子元素。这些子元素的值存放在一个Bundle对象中,组件可以通过PackageItemInfo.metaData字段来访问。
普通类型的值可以通过value属性来指定,而资源ID的值须用resource属性来指定。比如,以下代码把名称为“zoo”的数据值指定为存储于@string/kangaroo资源中的字符串:
<meta-data android:name="zoo" android:value="@string/kangaroo" />
另一方面, resource 属性将把“zoo”赋值为资源ID数字,而不是资源中的值:
<meta-data android:name="zoo" android:resource="@string/kangaroo" />
强烈建议不要用多个独立的meta-data元素来定义相关数据。如果有比较复杂的数据需要和组件关联,建议把它们作为资源存储,并用resource属性来将资源ID通知组件。
属性:
android:name
定义数据项的唯一名称。为了确保名称唯一性,可使用Java格式的命名规范——比如“com.example.project.activity.fred”。
android:resource
对资源的引用。值为资源ID。通过meta-data Bundle对象的Bundle.getInt()方法可以获取ID。
android:value
定义数据项的值。下表列出了可赋予的数据类型以及组件用Bundle对象获取此类值的方法:
类型 |
Bundle方法 |
字符串值,双斜杠(\\)作为转义字符——比如"\\n" 、"\\uxxxxx"表示Unicode字符 |
|
整数值,比如"100" |
|
布尔值,"true" 或 "false" |
|
颜色值,"#rgb"、"#argb"、"#rrggbb" 或 "#aarrggbb" 格式 |
|
浮点数值,比如"1.23" |
引入于:
API Level 1。