Android XML资源引用详解:@、@android:、@*、?、@+
需积分: 37 165 浏览量
更新于2024-09-11
收藏 21KB DOCX 举报
"Android xml资源文件中的符号@、@android:、@*、?和@+是用来引用和声明不同类型的资源的。这些符号在XML布局文件和Android资源管理系统中扮演着重要角色,帮助开发者高效地组织和使用应用的资源。
一. @代表引用资源
在Android开发中,@符号用于引用已经定义的资源。它分为两种主要情况:
1. 引用自定义资源
格式:@[<package_name>:][<resource_type>/]<resource_name>
例如:`android:text="@string/hello"` 这里引用的是当前应用中的字符串资源hello。
2. 引用系统资源
格式:@android:[<resource_type>/]<resource_name>
如:`android:textColor="@android:color/opaque_red"` 引用的是Android系统的预定义颜色资源。
二. @android: 与 @*的区别
@android: 专门用于引用Android框架公开的资源,而@*则可以引用系统的非公开资源,这通常涉及到Android框架的内部资源。非公开资源的使用可能带来兼容性问题,因此不建议在应用程序中广泛使用。
三. @*代表引用系统的非public资源
格式:@[<package_name>:][<resource_type>/]<resource_name>
例如:`@*android:type/name` 可以访问所有系统资源,而`@android:type/name`仅限于public属性的资源。
四. ?代表引用主题属性
?符号用于引用主题(Theme)中的属性,通常在style或者主题定义中使用,允许动态继承和改变控件的外观。例如:
`android:background="?android:attr/selectableItemBackground"` 会根据当前主题设置背景。
五. @+用于创建新的资源引用
当在XML文件中首次声明一个资源时,需要使用@+。这会创建一个新的资源ID,并将其与后面的资源名称关联。例如:
`android:id="@+id/my_button"` 创建了一个新的ID资源,名为my_button。
总结起来,理解并正确使用这些符号对于编写高效的Android代码至关重要。它们让开发者能够灵活地复用和定制资源,同时保持代码的清晰和可维护性。在实际开发中,应遵循最佳实践,尽量避免使用非公开的系统资源,确保应用的稳定性和兼容性。"
251 浏览量
393 浏览量
150 浏览量
256 浏览量
245 浏览量
678 浏览量
2013-07-05 上传
141 浏览量
点击了解资源详情
匿影寻踪
- 粉丝: 22
- 资源: 10
最新资源
- c++新手必看,手把手教你c++
- java课件, 包含多线程
- 数据库函数实例的小例子 有助于初学者更好的理解存储过程的操作
- Administracion Tomcat
- 易学c++初学者的好帮手
- java课件,入门者可以来参考一下
- OpenCms7教程(3)
- Patterns of Enterprise Application Architecture
- Architectural Blueprints—The “4+1” View英文
- OpenCms7教程(2).pdf
- 《计算机网络》课后习题答案
- Applying Domain Driven Design and Patterns
- A quick guide to CISSP certification
- 高质量C++C 编程指南.
- icc编译器中文使用说明
- JSP高级编程,详细介绍JSP的开发知识