A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© psuugdufnm 中级黑马   /  2016-4-13 14:24  /  224 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、资源访问:【掌握】
(一)、概念:
    Android中的资源是指可以在代码中使用的外部文件,这些文件作为应用程序的一部分,被编译到应用程序中。在项目中,这些资源被保存到Android应用的res目录下。

(二)、资源分类:
id;
字符串资源文件;
颜色资源
尺寸资源文件
布局资源
数组资源
样式和主题资源
菜单资源
已编译的任意XML资源文件【重要】: res/xml
未编译的原始资源文件: res/raw
图像(Drawable)资源
普通图像资源
xml图像资源:bitmap
图层(Layer)资源:layer-list , item
图像状态(State)资源:selector , item
图像级别(Level)资源:level-list , item
淡入淡出(CrossFade)资源:transition , item(只支持两个)
外形(Shape)资源:shape(shape , gradient , padding ,corners , stroke)
动画资源
属性动画:res/animator   (api11之后出现)   
逐帧动画: res/anim      animation-list , item
补间动画:  res/anim
透明度补间动画    alpha
缩放补间动画    scale
旋转补间动画    rotate
移动补间动画     translate
【备注:】资源编译器会编译除了raw资源以外的所有资源,并将它们全部放到最终的.apk文件中。apk(Android Package)包含Android应用程序的代码和资源。

13、attr资源


(三)、各种资源文件的xml格式:
1、字符串资源文件:
示例代码:

<resources>
<string  name="red">红色</color>
<string  name="green">绿色</color>
<string  name="blue">蓝色</color>
  </resources>

Java文件中获取方式:getResources().getString(R.string.red);


2、颜色资源文件:
示例代码:
<resources>
    <color name="red">#f00</color>
    <color name="green">#0f0</color>
    <color name="blue">#00f</color>
  </resources>

在需要调用该颜色的地方写法是:android:background="@color/blue"

Java文件中获取方式:getResources().getColor(R.color.blue);


3、尺寸资源文件:
示例代码:
<resources>
    <dimen  name="title">20dp</color>
    <dimen  name="content">10dp</color>
  </resources>

Java文件中获取方式:getResources().getDimension(R.dimen.title);


4、数组资源文件:
    Android中,不推荐将数组直接定义在java文件中,而是使用数组资源文件来定义数组。
    定义在res下values目录下:arrays.xml文件中。格式如下:
根元素:<resources></resources>
子元素:可以有三种。
<array></array>:称为类型数组Typed-Array资源(或者:资源数组资源)
<string-array></string-array>
<integer-array></integer-array>
下级子元素:<item>数值</item>

示例代码:
<resources>
    <string-array name="choiceItems">
        <item >主屏模式</item>
        <item >wifi设置</item>
        <item >蓝牙设置</item>
        <item >网络设置</item>
        <item >More</item>
    </string-array>
</resources>

Java文件中获取方式:getResources().getStringArray(R.array.choiceItems);

【备注:】如果是int型数组,则格式如下:
<resources>
    <integer-array name="age">
        <item >20</item>
        <item >30</item>
        <item >40</item>
        <item >50</item>
    </integer-array>
</resources>

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马