`
java_cofi
  • 浏览: 47441 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【转】Android xml资源文件中@、@android:type、@*、?、@+含义和区别

阅读更多

2人收藏此文章, 我要收藏 发表于6个月前 , 已有340次阅读 共0个评论
一.@代表引用资源

1.引用自定义资源。格式:@[package:]type/name

android:text="@string/hello"



2.引用系统资源。格式:@android:type/name

    android:textColor="@android:color/opaque_red"

  注意:其实@android:type/name是@[package:]type/name 的一个子类

二.@*代表引用系统的非public资源。格式:@*android:type/name

  系统资源定义分public和非public。public的声明在:

  <sdk_path>\platforms\android-8\data\res\values\public.xml

  @*android:type/name:可以调用系统定义的所有资源

  @android:type/name:只能够调用publi属性的资源。

  注意:没在public.xml中声明的资源是google不推荐使用的。

三.?代表引用主题属性

  另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在style资源和XML属性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变UI元素的外观,而不是提供具体的值。例如:

  android:textColor="?android:textDisabledColor"

   注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。

四.@+代表在创建或引用资源 。格式:@+type/name

    含义:”+”表示在R.java中名为type的内部类中添加一条记录。如"@+id/button"的含义是在R.java 文件中的id 这个静态内部类添加一条常量名为button。该常量就是该资源的标识符。如果标示符(包括系统资源)已经存在则表示引用该标示符。最常用的就是在定义资源ID中,例如:

@+id/资源ID名         新建一个资源ID

@id/资源ID名          应用现有已定义的资源ID,包括系统ID

@android:id/资源ID名   引用系统ID,其等效于@id/资源ID名



android:id="@+id/selectdlg"

android:id="@android:id/text1"

android:id="@id/button3" 
分享到:
评论

相关推荐

    inote记事工具android客户端

    记事工具功能: 1. 新增、编辑和删除(仅支持文本;非彻底删除,可恢复) ...3. 搜索(支持标题、内容) 4. 导出(导出txt文件至SD卡) ...8. 指定EditBox只能输入数字(或其他),设置android:inputType="number"。

    android xml文件操作

    xml文件操作 public class XmlUtils { /** * 获取Document对象。根据xml文件的名字获取Document对象。 * * @param file * 要获取对象的xml文件全路径。 * @return 返回获取到的Document对象。 * @...

    android apk 反编译java文件对应的资源批量修改(更改为R.java文件中的R.string.name格式)

    Android的apk文件反编译后,甚多的资源...(2)从反编译出的文件夹中,找到public.xml文件,依据代码说明执行代码,可以将反编译出的java文件引用的资源数字重新更改为R.type.name格式,使得java文件资源引用重新关联。

    Android读取XML文件中的数据

    本文实例为大家分享了Android读取XML文件中数据的具体代码,供大家参考,具体内容如下 读取XML中存储的数据。将xmlfile.xml存放在assets文件夹中。在activity_main.xml中创建一个textview,用来显示读取到的数据。 ...

    WebViewDownloadTest.zip

    废话不多少了,先上布局,布局文件非常简单,一个EditText和一个Button被填充在LinearLayout中其余部分全部留给WebView ``` &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;RelativeLayout xmlns:android=...

    Android中资源文件用法简单示例

    本文实例讲述了Android中资源文件用法。分享给大家供大家参考,具体如下: 一、XML文件间资源文件的使用 引用格式: attribute=@[packagename:]resourcetype/resourceidentifier example: 有strings.xml、color....

    Android源码: 透明圆角Dialog

    android:type="linear" android:endColor="#0000FF" android:startColor="#FFFFFF" /&gt; android:width="1.0px" android:color="#33B5E5" /&gt; android:bottomLeftRadius="10dip" android:...

    Android实验02.doc

    (3) 新建字符串资源 单击左边列表中res文件夹,单击其下的values文件夹,双击其下的strings.xml文件 ,在右边的Android Resources对话框中单击Add按钮,选择string,在Name和Value*编辑框中输入字符串名 和字符串值...

    MapView的使用

    1、XML布局文件中 &lt;view android:id="@+id/mv" class="com.google.android.maps.MapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:api...

    androidstudio.docx

    android Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated 97/100 android Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address ...

    目录选择器源代码

    chooserdialog.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 &lt;?xml version="1.0" encoding="utf-8"?&gt; ...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    《疯狂Android讲义(第2版)》.(李刚).源代码 疯狂Android讲义目录结构: 第2章、Android应用程序界面设计,即View 2.2、布局管理(Layout):LinearLayout、TableLayout、FrameLayout、RelativeLayout; 2.3、基本...

    Android实例代码

    6.5、使用原始XML资源: 6.6、使用Layout资源: 6.7、使用菜单(Menu)资源: 6.8、样式(Style)和主题(Theme)资源: 6.9、属性(Attribute)资源: 6.10、使用原始资源: 6.11、国际化和资源自适应: 第7章、图形...

    疯狂Android讲义源码

     2.1.4 使用XML布局文件和Java  代码混合控制UI界面 42  2.1.5 开发自定义View 43  2.2 布局管理器 46  2.2.1 线性布局 47  2.2.2 表格布局 49  2.2.3 帧布局 52  2.2.4 相对布局 55  2.2.5 绝对布局 58  ...

    实现Android键盘的中英文适配

    大家在进行Android项目开发的时候经常会遇到中文输入和英文输入切换的情况,本篇内容教给大家实现Android下自动识别中英文键盘的功能。 英文环境下,密码框字体和一般字体不一致问题 1、xml中不能设置inputType ...

    AndroidAudioConverter:在Android应用程序内轻松转换音频文件。 支持的格式:AAC,MP3,M4A,WMA,WAV和FLAC

    AndroidAudioConverter 轻松在Android应用程序内部转换音频文件。 这是 lib的包装。 支持的格式: AAC MP3 M4A WMA WAV FLAC 图书馆大小:〜9mb如何使用1-将此权限添加到您的AndroidManifest.xml并...

    pyaxmlparser:适用于Android XML文件的Python3解析器,无需使用Androguard即可获取应用程序名称

    一个简单的解析器,用于解析Android XML文件。 用法 CLI: $ apkinfo ~ /Downloads/com.hardcodedjoy.roboremo.15.apk APK: /home/chillaranand/Downloads/com.hardcodedjoy.roboremo.15.apk App name: RoboRemo ...

    softap_ap6212a0_tinav2.1_验证通过_旧版本的系统_20170915_1223没有外层目录.7z

    TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a-neon TARGET_CPU_VARIANT=cortex-a7 TARGET_2ND_ARCH= TARGET_2ND_ARCH_VARIANT= TARGET_2ND_CPU_VARIANT= ...

Global site tag (gtag.js) - Google Analytics