andorid资源动画学习

一、 资源的存储方式

二、在xml布局文件中使用资源

三、在java代码中使用资源

四、各种类型的资源

2. Android应用资源的类型分为两大类:

   1存放在R文件夹的各种资源,如常见的字符串,颜色,android根据资源自动生成的R类的id索引,通过id自动找到对应的资源。

  (2Assert中的应用资源,又叫原生资源,比如音频视频的raw原生资源,与res不同的是不会在R类生成资源的ID索引。

 res目录下,不同的资源对应对应res目录下的子目录,如下图所示:

目录

存放资源

/res/animator

属性动画的xml文件

/res/anim

补间动画的xml

Res/drawable

该目录下存放各种位图文件(.png, 9.png, .jpg, .gif)等。除此之外也可能是能编译如下的各种drawable对象的xml文件:

BitmapDrawable

NinePathDrawable

stateListDrawable

shapeDrawable对象

AnimationDrawable对象

Drawable的其他各种子类的对象

/res/layout

存放各种布局文件。如relativelayout, linelayout

/res/menu

应用程序定义的各种菜单资源,包括选项菜单、子菜单、上下文菜单

/res/raw

存放各种类型的原生资源(如音频视频文件)。在java代码中可通过调用Resources对象的openRawResource(int id)来获取资源的二进制流,实际上,如果要使用原生资源,推荐把原生资源放到/asset目录下,然后使用AssetManager来访问


/res/values

存放各种简单值的xml文件。包括字符串值、整数值、数组等。而且这些资源的根元素都是<resource

存放各种简单值的xml文件。包括字符串值、整数值、数组等。而且这些资源的根元素都是<resource…/>,当我们为该<resource…/>元素添加不同的子元素则代表不同的资源,例如:

String/integer/bool子元素:代表字符串、整数或bool

Color:代表添加一个颜色值

Array子元素或者string-array,int-array:代表添加一个数组

Style:添加一个样式

Dimen:代表添加一个尺寸

…..

由于各种简单值都可定义在/res/value目录下的资源文件,如果在同一份资源文件中定义各种值,会增加程序维护程度。Android建议使用不同的文件来存放不同类型的值

Arrays.xml :定义数组资源

color.xml : 定义颜色值

Dimen.xml:定义尺寸值

String.xml:定义字符串资源

Style.xml:定义样式资源

…/>,当我们为该<resource…/>元素添加不同的子元素则代表不同的资源,例如:

String/integer/bool子元素:代表字符串、整数或bool值

Color:代表添加一个颜色值

Array子元素或者string-array,int-array:代表添加一个数组

Style:添加一个样式

Dimen:代表添加一个尺寸

…..

由于各种简单值都可定义在/res/value目录下的资源文件,如果在同一份资源文件中定义各种值,会增加程序维护程度。Android建议使用不同的文件来存放不同类型的值

Arrays.xml :定义数组资源

color.xml : 定义颜色值

Dimen.xml:定义尺寸值

String.xml:定义字符串资源

Style.xml:定义样式资源

/res/xml/

任意原生的xml文件,在java使用Resource.getXML()方法访问

5. 使用 drawable 的资源
       图片资源的使用,直接把图片放入 /res/ drawable 文件夹即可,引用图片资源 R.drawable
  5.1 StateListDrawable 的资源,用于组织多个 drawable 对象。当使用 StateListDrawable 作为目标组件的背景,前背景图片时, StateListDrawable 对象所显示的 Drawable 对象会随着目标组件状态的改变而自动切换 ( 通俗的理解 : 使用状态列表资源定义好不同状态时显示不同的图片,当应用到具体组件时,便可以根据组件的状态更改而自动切换图片 )
5.2  LayerDrawable 存放的是 Drawable 数组,索引越大的显示在越上面。实现一种层的切换。
5.3  ShapeDrawable 资源用于定义一些基本的几何图形。(例如圆角矩形效果的实现)
。。。
小结:( 1 Drawable 有很多直接子类或间接地子类,所有他的子类都是一种 drawable 资源,都可以将对应的 xml 文件存放在 /res/ drawable -xxx/ 下,引用也是一样的。
2 )不要有定式思维 Drawable 只是图片,其实 drawable 可以有多重多样,具体参考手册( sdk 文档)。
 
6. 原始资源
  使用原始资源需要自己手动创建 xml 目录 (/res/xml); 但是使用这种方式需要原始解析器来解析 xml 文件。
7 、使用菜单资源。( /res/menu/ ,android 中建议使用 menu 资源定义菜单会有利于维护和实现更好的解耦。
8 、关于样式和主题。样式和主题都是实现复用的功能;而两者的区别是样式用于具体的 UI 组件,而主题主要是用于 Activity 界面组件和应用。

在java代码中,因为androidsdk会在编译应用时在R类中以/res目录下所有的资源创建索引项,因此在java中主要通过访问R类来完成。
•如:Button btn= (Button)findviewbyid(R.id.mybutton);
•在layout文件中定义button的id为:
•<Buttonandroid:id=“@+id/mybutton”../>
•在java代码中使用R.resouce_ty.resource_name来获取实际的资源,resource_type:R中代表不同类型的子类,比如string代表字符串资源.
•Resource_name:资源名。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值