- 语法:
<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
属性会为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 是分配给该项的值。可以通过
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
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Last updated 2022-11-29 UTC.
[]
[]