Android XML 文件中引用资源的方法
2017-05-29 23:56
239 查看
在 XML 文件中引用资源的语法如下:
1) @[package:]type/name使用我们自己包下的资源可以省略 package。
在 xml 文件中,如 main.xml 以及AndroidMainfest.xml 文件中通过“@drawable/icon”的方式获取。
其中“@”代表的是R.java 类,“drawable”代表 R.java 中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”。
而该属性可以指向 res 目录下的“drawable-*dpi”中的 icon.png 图标。其他类型的文件也比较类似 。
凡是在R文件中定义的资源都可以通过“ @Static_inner_classes_name/resourse_name”的方式获取。如“@id/button”,“@string/app_name”。
2) 如果访问的是 Android 系统中带的文件,则要添上包名“android:”。
如android:textColor=”@android:color/red” 。
3) 引用主题属性
另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在样式资源和 XML 属
性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变 UI 元素的外观,而不
是提供具体的值。
android:textColor=”?android:textDisabledColor”
注意,这和资源引用非常类似,除了我们使用一个”?”前缀代替了”@”。当你使用这个标记
时,你就提供了属性资源的名称,它将会在主题中被查找–因为资源工具知道需要的属性资
源 , 所以你不需要显示声明这个类型 ( 如 果 声 明 , 其 形 式 就
是?android:attr/android:textDisabledColor)。
除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和”@”形式一致:?[namespace:]type/name,这里类型
可选。
“@+id/string_name”表达式
顺便说一下,在布局文件当中我们需要为一些组件添加 Id 属性作为标示,可以使
用如下的表达式“@+id/string_name”
其中“+”表示在 R.java 的名为 id 的内部类中添加一条记录。如”@+id/button”的含义是在 R.java 文件中的 id 这个静态内部类添加一条常量名为 button,该常量就是该资源的标识符。如果 id 这个静态内部类不存在,则会先生成它。
通过该方式生成的资源标识符,仍然可以以“@id/string_name”的方式引用。
1) @[package:]type/name使用我们自己包下的资源可以省略 package。
在 xml 文件中,如 main.xml 以及AndroidMainfest.xml 文件中通过“@drawable/icon”的方式获取。
其中“@”代表的是R.java 类,“drawable”代表 R.java 中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”。
而该属性可以指向 res 目录下的“drawable-*dpi”中的 icon.png 图标。其他类型的文件也比较类似 。
凡是在R文件中定义的资源都可以通过“ @Static_inner_classes_name/resourse_name”的方式获取。如“@id/button”,“@string/app_name”。
2) 如果访问的是 Android 系统中带的文件,则要添上包名“android:”。
如android:textColor=”@android:color/red” 。
3) 引用主题属性
另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在样式资源和 XML 属
性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变 UI 元素的外观,而不
是提供具体的值。
android:textColor=”?android:textDisabledColor”
注意,这和资源引用非常类似,除了我们使用一个”?”前缀代替了”@”。当你使用这个标记
时,你就提供了属性资源的名称,它将会在主题中被查找–因为资源工具知道需要的属性资
源 , 所以你不需要显示声明这个类型 ( 如 果 声 明 , 其 形 式 就
是?android:attr/android:textDisabledColor)。
除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和”@”形式一致:?[namespace:]type/name,这里类型
可选。
“@+id/string_name”表达式
顺便说一下,在布局文件当中我们需要为一些组件添加 Id 属性作为标示,可以使
用如下的表达式“@+id/string_name”
其中“+”表示在 R.java 的名为 id 的内部类中添加一条记录。如”@+id/button”的含义是在 R.java 文件中的 id 这个静态内部类添加一条常量名为 button,该常量就是该资源的标识符。如果 id 这个静态内部类不存在,则会先生成它。
通过该方式生成的资源标识符,仍然可以以“@id/string_name”的方式引用。
相关文章推荐
- Android--入门---19---(XML文件中引用资源的语法)
- Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别
- android Xml文件引用资源中@和?的区别
- Android点击控件改变颜色的两种方法——onTouchLisener()和xml资源文件selector的使用
- Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别
- (转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别
- Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别
- Android XML字符串资源文件详细讲解
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- android开发教程之系统资源的使用方法 android资源文件
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- clip.xml资源文件---android
- Android项目中引用本地aar文件的方法
- android编程之xml文件读取和写入方法
- android从资源文件中读取文件流并显示的方法
- Android开发之XML文件的解析的三种方法
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- mavn打包子模块时,没有把xml资源文件打包到jar文件的解决方法。
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- Android-->AndroidManifest.xml 文件 <meta-data> 使用方法