- 语法:
<meta-data android:name="string" android:resource="resource specification" android:value="string" />
- 包含于:
<activity>
<activity-alias>
<application>
<provider>
<receiver>
<service>
- 说明:
- 可以向父组件提供的其他任意数据项的名称值对。一个组件元素可以包含任意数量的
<meta-data>
子元素。所有这些子元素的值收集到一个Bundle
对象,并且可作为PackageItemInfo.metaData
字段提供给组件。普通值通过
value
属性指定。不过,要将资源 ID 指定为值,请改为使用resource
属性。例如,以下代码会将@string/kangaroo
资源中存储的任何值分配给“zoo
”名称:<meta-data android:name="zoo" android:value="@string/kangaroo" />
另一方面,使用
resource
属性会为资源的数字 ID 分配“zoo
”,而不是资源中存储的值:<meta-data android:name="zoo" android:resource="@string/kangaroo" />
强烈建议不要提供相关数据作为多个单独的
<meta-data>
条目。相反,如果您有要与组件相关联的复杂数据,请将其存储为资源,并使用resource
属性告知组件其 ID。 - 属性:
android:name
- 该项的唯一名称。要确保此名称具有唯一性,请使用 Java 样式的命名惯例,例如“
com.example.project.activity.fred
”。 android:resource
- 对资源的引用。资源的 ID 是分配给该项的值。可以通过
Bundle.getInt()
方法从元数据 Bundle 中检索 ID。 android:value
- 分配给该项的值。下表列出了可以指定为值的数据类型以及组件用于检索这些值的 Bundle 方法:
类型 Bundle 方法 字符串值,使用双反斜线 ( \\
) 转义字符,例如“\\n
”和“\\uxxxxx
”表示 Unicode 字符。getString()
整数值,例如“ 100
”getInt()
布尔值,“ true
”或“false
”getBoolean()
颜色值,格式为“ #rgb
”、“#argb
”、“#rrggbb
”或“#aarrggbb
”getInt()
浮点值,例如“ 1.23
”getFloat()
- 引入于:
- API 级别 1
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-12-27 UTC.