Android应用资源

资源分类:

1.无法直接访问的原生资源,保存于asset目录下

2.可通过R资源清单类访问的资源,保存于res目录下

资源的类型以及存储方式

android要求在res目录下用不同的子目录来保存不同的应用程序,如下图:

注意:由于对于android中资源的应用方式, 前面的学习当中已有部分使用,因此以下内容只记录,个人认为比较重要或容易遗忘的内容。

内容比较随意,还望谅解!!!

Android也允许使用资源文件定义boolean常量,需要在res/values/目录下增加一个boolean.xml文件,如下所示:

数组资源

res/values/arrays.xml

arrays.xml可包含以下三种数组:<array.../>、<string-array.../>、<integer-array.../>

<array name="array1">

  <item>@color/c1</item>

  <item>@color/c1</item>

  <item>@color/c1</item>

  ......

</array>

<string-array name="array2">

  <item>@string/c1</item>

  <item>@string/c2</item>

  <item>@string/c3</item>

  ......

</string-array>

<string-array name="books">

  <item>book1</item>

  <item>book2</item>

  <item>book3</item>

  ......

</string-array>

Eg:

Drawable资源

res/drawable文件夹,实际开发中应为:drawable-ldpi、drawable-mdpi、drawable-hdpi.

注意:android不允许图片资源文件名中出现大写字母或者以数字开头的文件名称。

StateListDrawable资源

StateListDrawable用于组织多个Drawable对象。

当使用其作为目标组件的背景、前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件状态的改变而自动切换。

定义StateListDrawable对象的XML文件的根元素为<selector..../>,可包含多个<item>子元素,该元素可指定如下属性:

1.android:color/android:drawable

2.android:state_xxx:指定一个特定状态

实例:实现高亮显示正在输入的文本框

LayerDrawable资源

例如实现自定义SeekBar外观

实例如下所示:

操作步骤:1.添加mybar.xml  2.添加layout_logo.xml  3.添加布局文件

mybar.xml==>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item
android:id="@android:id/background"
android:drawable="@drawable/no"/>
<item
android:id="@android:id/progress"
android:drawable="@drawable/plane3"/> </layer-list> layout_logo.xml==>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item>
<bitmap
android:gravity="center"
android:src="@drawable/ten" />
</item>
<item android:top="25dp" android:left="25dp">
<bitmap
android:gravity="center"
android:src="@drawable/ten" />
</item>
<item android:top="50dp" android:left="50dp">
<bitmap
android:gravity="center"
android:src="@drawable/ten" />
</item> </layer-list> main.xml==>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <SeekBar
android:id="@+id/bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progressDrawable="@drawable/mybar" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/layout_logo"/> </LinearLayout>

运行效果:

android学习笔记32——资源的更多相关文章

  1. android学习笔记33——资源ShapeDrawable

    ShapeDrawable ShapeDrawable用于定义一个基本的几何图像(如,矩形.圆形.线条.......). 定义ShapeDrawable的XML文件的根元素是<shape.../ ...

  2. Android学习笔记菜单资源文件

    创建菜单资源 menu_one.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns: ...

  3. Android学习笔记样式资源文件

    样式资源和主题资源都是写在styles.xml文件里面的 <style name="title"> <item name="android:textSi ...

  4. Android学习笔记数组资源文件

    在android中我们可以通过数组资源文件,定义数组元素. 数组资源文件是位于values目录下的 array.xml <?xml version="1.0" encodin ...

  5. Android学习笔记尺寸资源

    尺寸资源语法 dp:设备独立资源像素 会根据设备匹配大小 一般用于设置边距和组件大小 sp : 可伸缩像素 根据用户手机字体大小首选项进行缩放 使用尺寸资源 定义尺寸资源 dimens <?xm ...

  6. Android学习笔记颜色资源文件

    资源文件目录 颜色资源文件格式 colors.xml <?xml version="1.0" encoding="utf-8"?> <reso ...

  7. 【转】Pro Android学习笔记(四):了解Android资源(下)

    处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootna ...

  8. 【转】Pro Android学习笔记(三):了解Android资源(上)

    在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源res ...

  9. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

随机推荐

  1. Oracle语句

    分页查询: select rn,last_name,salary from( select rownum rn,last_name,salary from( select last_name,sala ...

  2. SQLServer如何用T—SQL命令查询一个数据库中有哪些表

    1.查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 执 ...

  3. hdu3594 强连通(仙人掌图)

    题意:给定一张有向图,问是否是仙人掌图.仙人掌图的定义是,首先,这张图是一个强连通分量,其次所有边在且仅在一个环内. 首先,tarjan可以判强连通分量是否只有一个.然后对于所有边是否仅在一个环内,我 ...

  4. poj1128 拓扑序(DFS)

    题意:给出一张图,它是由一系列字母框按一定顺序从下到上摆放,因此上面的字母框会覆盖一部分下面的字母框,确保每个字母框的四条边都至少会出现一个点,要求输出所有可行的摆放顺序,字典序从小到大输出. 首先可 ...

  5. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  6. socket、webService、RMI ?

    网络七层协议为:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 webService > RMI > socket RMI比socket更高一点 socket 只是 java在 ...

  7. background-position 用法详细介绍

    语法: background-position : length || length background-position : position || position 取值: length  : ...

  8. 在apache连接多php的时候遇到了问题,怎么切换多个php版本?

    PHP 在apache连接多php的时候遇到了问题,怎么切换多个php版本? 我的机器里面有一个apache2.2.22,但是有两个php,5.3.10和5.4.3,5.3.10是mac os x带的 ...

  9. 【转载】使用LFM(Latent factor model)隐语义模型进行Top-N推荐

    最近在拜读项亮博士的<推荐系统实践>,系统的学习一下推荐系统的相关知识.今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结. 隐语义模型LFM和LSI,LDA,Topic ...

  10. C# Post方式传输报文,和处理响应

    public string DoPost(string url, string data) { HttpWebRequest req = GetWebRequest(url, "POST&q ...