安卓xml中资源文件的引用符(@,?,*)
来源:互联网 发布:hr人力资源软件排名 编辑:程序博客网 时间:2024/04/29 17:27
在xml文件中引用的资源,通常分为系统自带的资源和自己包下的资源。在使用@来引用的时候,要遵循特定的语法规则。
(1) @[package:]type/name
使用我们自己包下的资源可以省略package。在xml 文件中, 如AndroidMainfest.xml 文件中通过“@drawable/icon”的方式获取(省略了package)。其中“@”代表的是R.java 类,“drawable”代表R.java 中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”。等同于在代码中通过R.drawable.icon来获取资源一样。凡是在R 文件中定义的资源都可以通过“@ Static_inner_classes_name/resourse_name”的方式获取。如“@id/button”,“@string/app_name”。
除了自己包下的资源,安卓系统也会提供大量的系统自带资源,如样式(style),主题(theme),颜色(color),动画(anim),数组(array)等等。获取系统资源需要添加系统包名,如"@android:color/red" 。更多的系统资源可以在\sdk\platforms\android-21\data\res\values文件中查看
(2)?[namespace:]type/name
?允许你引用当前主题中的属性。这个属性值只能在style资源和XML属性中使用;如在使用progressbar时,通常需要指定progressbar的style的属性,style="?android:attr/progressBarStyleHorizontal"表示水平的进度条。其实,当使用?这个标记时,你就提供了资源属性的类型(type),你所提供的资源名必须能够在主题属性中找到,因为资源工具认为这个资源属性是被期望得到的,您不需要显性声明它的类型(即type可以省略,"?android/progressBarStyleHorizontal")。
(3)@+type/name
含义:”+”表示在R.java中名为type的内部类中添加一条记录。如"@+id/button"的含义是在R.java 文件中的id 这个静态内部类添加一条常量名为button。该常量就是该资源的标识符。如果标示符(包括系统资源)已经存在则表示引用该标示符。最常用的就是在定义资源ID中,例如:
@+id/资源ID名 新建一个资源ID android:id="@+id/selectdlg"
@android:id/资源ID名 应用现有已定义的资源ID,包括系统ID android:id="@android:id/text1"
@ id/资源ID名 引用系统ID,其等效于@android:id/资源ID名 android:id="@id/button3"
- 安卓xml中资源文件的引用符(@,?,*)
- Silverlight中资源文件的引用
- 安卓中资源文件中shape的用法
- C#Resources中资源文件的引用
- 引用framework中资源文件
- 在Applet中引用jar中资源文件的KEY!
- 代码中资源文件引用,过时方法的替代
- .NET中资源文件的使用
- Delphi中资源文件的使用
- c#中资源文件的使用
- S60 中资源文件的读取
- OGRE中资源文件的缩减
- C#中资源文件的管理
- Android中资源文件的使用
- Dephi中资源文件的应用
- Android中资源文件的使用
- Android中资源文件的使用
- .NET中资源文件的使用
- ios 真实随机数
- 20150313 N1
- 黑马程序员——OC面向对象编程
- Java工厂模式
- AFNetWoring请求头
- 安卓xml中资源文件的引用符(@,?,*)
- (1.2.2.1)栈和队列的应用:数制转换、括号匹配、后缀表达式求解,中缀表达式求解、双栈实现队列,min函数栈
- python中的反射
- 你容易忽视的编程问题
- 杭电acm2046
- JAVA安全客户端连接到Hbase
- pop3_sogou_成功用telnet收取一封邮件的交流记录
- shared_ptr
- 策略模式