安卓res资源文件

除了res目录下可以存放资源外,assets目录下也可以存放资源文件。但是assets目录下的资源不能直接通过R类访问,需要通过AssestManager以二进制流的形式读入资源。其余res目录下的资源文件在编译时会自动在R.java文件下为其创建索引,所以可以通过R类直接访问。

数组资源:安卓建议通过资源文件来定义数组,文件放在res/values/arrays.xml下。根元素为<resources>,该元素可包含如下三种子元素:

<array>:定义普通类型的数组,例如Drawable数组。

<string-array>:定义字符串数组

<integer-array>:定义整形数组

java中也提供了相应getxxx()方法可以获取到指定数组元素

图片资源:

1.使用图片作为源

2.StateListDrawable用于组织多个Drawable对象,可以为一个StateListDrawable对象设置不同的状态,随着StateListDrawable对象状态的改变所显示的Drawable也会改变。定义此对象的xml文件的根元素为<selector>,子元素为<item>,<item>可指定如下属性:

android:color   颜色

android:drawable  Drawable对象

android:state_xxx   指定状态

204548_Pm7d_2896911.png

3.LayerDrawable也可以管理一组drawable对象,系统会按数组顺序来绘制他们,索引最大的会被绘制在最上面。

在xml文件中定义时根元素为<layer-list>,子元素为<item>,

<item>可指定如下属性:

android:drawable  指定drawable对象

android:id  为该Drawable对象指定一个标识

android:buttom|top|left|button   用于指定该Drawable对象绘制到目标组件的指定位置。

4.shapeDrawable用于定义一个基本的几何图形

xml文件中的根元素为<shape>,可指定如下属性

android:shape=[“rectangle”|“oval”|“line”|“ring”]:指定定义哪种类型的几何图形。

5.ClipDrawable代表从其他位图上截取的一部分,在xml文件中使用<clip>标签,可定义如下三个属性:

android:drawable   指定截取的源

android:clipOrientation   指定截取方向,可设置成水平或垂直

android:gravity   指定截取时的对齐方式

使用ClipDrawable对象时可调用setLevel(int level);方法来设置截取的区域大小,level为0时截取的图片片段为空,level为10000时截取整张图片。

6.AnimationDrawable代表一个动画,安卓既支持逐帧动画(一张图片一张图片地切换),也支持通过平移、变换计算出来的补间动画。定义补间动画的思路很简单,即设置一张图片的开始状态,包括透明度,缩放比,位置,旋转度,再设置该图片的结束状态,包括透明度,缩放比,位置,旋转度,再设置动画的持续时间,安卓会使用动画效果把这张图片从开始状态变换到结束状态。

定义补间动画的xml资源文件(应放在anima路径下)以<set>元素作为根元素,根元素下可以指定如下4个元素:

alpha:设置透明度的改变

scale:设置图片进行缩放变换

translate:设置图片进行位移变换

rotate:设置图片进行旋转

这5个元素都可以指定android:interpolator属性,该属性指定动画的变化速度,可以实现匀速,加速等,有如下R.anim类中的常量用来定义不同的动画速度:liner_interpolator:匀速变化

accelerate_interpolator:加速变化    

decelerate_interpolator:减速变化

如果想让<set>元素下所有的变换效果使用相同的动画速度,则可以指定android:shareInterpolator=“true”属性

6.Property Animation属性动画,这是一个抽象类,通常使用它的子类:AnimatorSet、ValueAnimator、TimeAnimator.

定义属性动画的xml资源文件能以如下三个元素的任意一个作为根元素:<set>:它是一个父元素,用于包含<objectAnimator>、<animator>、或<set>子元素

<objectAnimator>:用于定义objectAnimator动画

<animator>:用于定义ValueAnimator动画

样式资源资源文件放在res/values/style.xml目录下,根元素是<resources>,根元素下可包含多个<style>子元素,每个<style>子元素定义一个样式,可指定如下两个属性:

name:指定样式的名称

parent:指定样式所继承的父样式

<style>元素可包含多个<item>子元素,每个<item>子元素定义一个格式项

主题资源:与样式资源非常相似,但是主题资源不能用于单个View组件,主题应该对整个应用中的所有Activity起作用,或对指定的Activity起作用;主题定义的格式应该是改变窗口外观的格式,例如窗口标题、窗口边框等

                                                  ----------------这些博客都是我之前在学习过程中自书中摘出的重点,以及一些前辈总结的经验,外加一些自己的感悟,如果有前辈看到,有不对的地方希望大家指出,非常感谢。

 

 

转载于:https://my.oschina.net/qinqinyuan/blog/743890

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值