语法
<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属性来代替。例如,下面的代码将分配以@string/kangroo存储的任何值到这个“zoo”名:
<meta-data android:name="zoo" android:value="@string/kangaroo" />
另一方面,使用resource属性将分配“zoo”资源数字标识,而并非是这个值存储在这个资源中。
<meta-data android:name="zoo" android:resource="@string/kangaroo"/>
强烈推荐这种做法,因为这样就可以避免用多个单独的<meta-data>实体来提供相关数据。反之,如果你有和组件相关的复杂数据,那么就用resource来储存它并使用resource属性来通知它标识的组件。
属性
android:name
这项的唯一的名称。为了确保名称唯一,使用java命名规范-例如,“com.example.project.activity.fred”。
android:resource
到资源的引用。这个资源标识是分配到这项的值。这个标识能通过Bundle.getInt()方法从meta-data Bundle中获取。
android:value
分配到这项的值。能用来分配为值的数据类型和组件能用来获取那些值的方法如下表所示:
类型 | Bundle方法 |
字符串,用双反斜杠(\\)来转义字符串- 例如“\\n”和针对Unicode字符的“\\uxxxx”。 | getString() |
整数。例如:“100” | getInt() |
布尔值。例如:“true”或“false” | getBoolean() |
颜色值。“#rgb”,“#argb”,“#rrggbb”,“#aarrggbb”的整数形式。 | getInt() |
浮点型。例如“1.23” | getFloat() |
出处
API Level 1