您的位置:首页 > 移动开发 > Android开发

Android中访问资源的几种方式总结

2015-08-19 13:13 537 查看

1 在代码中

       1  通过资源ID来访问

       2  获得单个资源    getResources() 来获得资源实例

语法:[<package_name>.]R.<resource_type>.<resource_name>

  R     R类

  resource_type  R的子类 资源的类型

  resource_name  资源的名字 或者是android:name 的属性值(在xml文件中)

  1 在Resources中,可以使用方法获取资源

  2  通过Context.getResources()获取资源实例

2 在XML中

使用一个特定的XML语法:

@[<package_name>:]<resource_type>/<resource_name>

@string/hello

资源类型:以下资源都在资源res/目录中提供

=========================================================================================

 Animation Resources       Tween animation  补间动画  存储目录 res/anim   访问方法R.anim

      Frame animation   帧间动画 存储目录 res/drawable  访问方法 R.drawable

=========================================================================================

 Color State List Resource   定义了基于View状态改变的颜色资源

     保存目录 res/color/  访问方法 R.color

=========================================================================================

 Drawable Resources 定义各种图形 ,用bitmap位图 或 XML

     保存在res/drawable 访问R.drawable

=========================================================================================

 Layout Resource  为应用UI定义的布局

     保存在res/layout    访问方法:R.layout

=========================================================================================

 Menu Resource  定义了应用的菜单内容

     保存在res/menu       访问方法:R.menu

=========================================================================================

 String Resources 定义了字符串string,字符串数组array,plurals复数(多元)【格式化的字符串和样式style】

    访问方法:R.string   R.array  R.plurals

=========================================================================================

 Style Resource  定义UI元素的外表和格式

    存储在:res/values/         访问方法:R.style

=========================================================================================

 More Resource Types 定义 booleans, integers, dimensions, colors, and other arrays.

  保存在res/values/  但访问都用独立的R子类  R.bool, R.integer, R.dimen

3 引用样式属性:

一个样式属性资源允许你在当前应用的主题中引用属性的值引用一个属性值允许你去定制UI元素的外表,通过样式化它们匹配当前主题的标准差异,代替硬编码的值。引用一个样式属性,潜在的是说,在当前主题中,使用该属性集定义的样式

引用一个样式属性,语法上与常用资源的引用几乎没有差别,唯一不同的是用?来代替@符号,并且资源类型是可选的。语法:

 ?[<package_name>:][<resource_type>/]<resource_name>

例如,下面匹配主要的文本颜色:

<EditText id="text"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:textColor="?android:textColorSecondary"

    android:text="@string/hello_world" />

4 引用平台资源

 android.R.layout.simple_list_item_1 要使用android.R包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息