Android学习15--使用(Drawable)资源
来源:互联网 发布:西门子s7 300编程软件 编辑:程序博客网 时间:2024/05/22 00:24
1、图片资源
图片资源是最简单的Drawable资源,只要把*.png、*.jpg*、.gif等格式的图片放入/res/drawable-XXX目录下,Android SDK就会在编译应用自动加载该图片,并在R资源清单类中生成该资源的引用。
Android不允许图片资源的文件名中出现大写字母,且不能以数字开头。
java中访问资源:[<package>.]R.drawable.<file_name>
XML中访问资源:@[<package_name:>]drawable/file_name
为了在程序中获得实际的Drawable对象,Resources提供了Drawable getDrawable(int id)方法,该方法跟据Drawable资源在R清单类中的ID获取实际的Drawable对象。
2、StateListDrawable资源
StateListDrawable用于组织多个Drawable对象。当使用StateListDrawable作为目标组件的背景、前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件形态的改变而自动切换。
定义StateListDrawable对象的XML文件的根元素为<selector../>,该元素可包含多个<item.../>元素,该元素可指定如下属性:
android:color或android:drawable:指定颜色或drawable对象
android:state_xxx:指定一个特定状态
3、LayerDrawable资源
与StateListDrawable有点类似,LayerDrawable也可以包含一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面。
定义LayerDrawable对象的XML文件的根元素为<layer-list.../>,该元素可以包含多个<item.../>元素,该元素可指定如下属性:
android:drawable:指定作为LayerDrawable元素之一的Drawable对象。
android:id:为该Drawable对象指定一个标识
android:buttom|top|button:它们用于指定一个长度值,用于指定将该Drawable对象绘制到目标组件的指定位置
4、ShapeDrawable资源
ShapeDrawable用于定义一个基本的几何图形(如矩形、圆形、线条等),定义ShapeDrawable的XML文件的根元素是<shape.../>元素,该元素可指定如下属性:
android:shape=["rectangle"|"Oval"|"line"|"ring"]:指定定义哪种类型的几何图形
5、ClipDrawable资源
ClipDrawable代表从其它位图上截取的一个“图片片段”。在XML文件中定义ClipDrawable对象使用<clip.../>元素。
可指定如下三个属性:
android:drawable:指定截取的源Drawable对象
android:clipOrientation:指定截取方向,可设置水平截取或垂直截取
android:gravity:指定截取时的对齐方式
使用ClipDrawable对象可调用setLevel(int level)方法来设置截取的区域大小。当Level为0时,截取的图片片段为空,当Level为10000时,截取整张图片。
6、AnimationDrawable资源
AnimationDrawable代表一个动画。定义补间动画的XML资源文件以<set.../>元素作为根元素,该元素内可以指定如下4个元素:
alpha:设置透明度的改变
scale:设置图片进行缩放改变
translate:设置图片进行位移变换
rotate:设置图片进行旋转
定义动画的XML资源应该放在/res/anim路径下,当使用ADT创建一个Android应用时,默认不会包含该路径,开发者需要自行创建该路径。
定义补间动画的思路很简单:设置一张图片的开始状态(包括透明度、位置、缩放比、旋转度)、并设置图片的结束状态(包括透明度、位置、缩放比、旋转度),再设置动画的持续时间,Android系统会使用动画效果把这张图片从开始状态变换到结束状态。
在java代码中访问动画资源文件:[<package>.]R.anim.<file_name>
在XML文件中访问动画资源文件:@[<package_name>:]anim/file_name
为了在java代码中获取实际的Animation对象,可以调用AnimationUtils的如下方法:loadAnimation(Context ctx,int resld)
- Android学习15--使用(Drawable)资源
- Android学习15--使用(Drawable)资源
- Android学习笔记--应用资源的使用(Drawable)
- Android Drawable Resource学习(十三)、其他的Drawable资源
- Android Drawable Resource学习(十三)、其他的Drawable资源
- Android Drawable Resource学习(十三)、其他的Drawable资源
- 使用(Drawable)资源
- Android Drawable资源的使用
- android修改控件外观(使用drawable资源)
- Android资源知识(二)之Shape Drawable的使用
- Android基础学习,使用Drawable资源之ClipDrawable资源,实现图片在特定位置展开。
- Drawable资源资源使用
- android drawable资源调用使用心得
- Android中的drawable下的资源使用
- android中drawable资源文件的使用
- Android中drawable使用Shape资源
- 初学Android,使用Drawable资源之使用StateListDrawable资源(十三)
- 初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
- App Store上架注意事项
- 把STL文件ACSII格式读入matlab
- SSH框架单元测试工具类
- 【整理】SIMD、MMX、SSE、AVX、3D Now!、neon
- 实例解说Linux中fdisk分区使用方法
- Android学习15--使用(Drawable)资源
- 项目管理/研发管理过程中的一些感悟
- [CTSC99]拯救大兵瑞恩
- 学习总结之ETH OAM:Y.1731与CFM
- 史上最经典的Linux内核学习方法论
- opencv中关于直方图的相关函数
- Android日记之2012/02/08——浅谈Timer
- 获取本机IP地址代码
- 2012寒假总结