Android学习15--使用(Drawable)资源
1、图片资源
图片资源是最简单的Drawable资源。仅仅要把*.png、*.jpg*、.gif等格式的图片放入/res/drawable-XXX文件夹下,Android SDK就会在编译应用自己主动载入该图片,并在R资源清单类中生成该资源的引用。
Android不同意图片资源的文件名称中出现大写字母。且不能以数字开头。
java中訪问资源:[.]R.drawable.
XML中訪问资源:@[]drawable/file_name
为了在程序中获得实际的Drawable对象,Resources提供了Drawable getDrawable(int id)方法,该方法跟据Drawable资源在R清单类中的ID获取实际的Drawable对象。
2、StateListDrawable资源
StateListDrawable用于组织多个Drawable对象。当使用StateListDrawable作为目标组件的背景、前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件形态的改变而自己主动切换。
定义StateListDrawable对象的XML文件的根元素为,该元素可包括多个元素,该元素可指定例如以下属性:
android:color或android:drawable:指定颜色或drawable对象
android:state_xxx:指定一个特定状态
3、LayerDrawable资源
与StateListDrawable有点类似,LayerDrawable也能够包括一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面。
定义LayerDrawable对象的XML文件的根元素为,该元素能够包括多个元素,该元素可指定例如以下属性:
android:drawable:指定作为LayerDrawable元素之中的一个的Drawable对象。
android:id:为该Drawable对象指定一个标识
android:buttom|top|button:它们用于指定一个长度值。用于指定将该Drawable对象绘制到目标组件的指定位置
4、ShapeDrawable资源
ShapeDrawable用于定义一个主要的几何图形(如矩形、圆形、线条等),定义ShapeDrawable的XML文件的根元素是元素,该元素可指定例如以下属性:
android:shape=["rectangle"|"Oval"|"line"|"ring"]:指定定义哪种类型的几何图形
5、ClipDrawable资源
ClipDrawable代表从其他位图上截取的一个“图片片段”。
在XML文件里定义ClipDrawable对象使用元素。
可指定例如以下三个属性:
android:drawable:指定截取的源Drawable对象
android:clipOrientation:指定截取方向,可设置水平截取或垂直截取
android:gravity:指定截取时的对齐方式
使用ClipDrawable对象可调用setLevel(int level)方法来设置截取的区域大小。当Level为0时。截取的图片片段为空。当Level为10000时。截取整张图片。
6、AnimationDrawable资源
AnimationDrawable代表一个动画。定义补间动画的XML资源文件以元素作为根元素。该元素内能够指定例如以下4个元素:
alpha:设置透明度的改变
scale:设置图片进行缩放改变
translate:设置图片进行位移变换
rotate:设置图片进行旋转
定义动画的XML资源应该放在/res/anim路径下,当使用ADT创建一个Android应用时。默认不会包括该路径,开发人员须要自行创建该路径。
定义补间动画的思路非常easy:设置一张图片的開始状态(包含透明度、位置、缩放比、旋转度)、并设置图片的结束状态(包含透明度、位置、缩放比、旋转度),再设置动画的持续时间。Android系统会使用动画效果把这张图片从開始状态变换到结束状态。
在java代码中訪问动画资源文件:[.]R.anim.
在XML文件里訪问动画资源文件:@[:]anim/file_name
为了在java代码中获取实际的Animation对象,能够调用AnimationUtils的例如以下方法:loadAnimation(Context ctx,int resld)
Android学习15--使用(Drawable)资源的更多相关文章
- android中常见的Drawable资源有哪些?
Drawable资源是安卓应用中最常见的一种资源,比如图片等,因此,对于初学者而言,必须掌握drawable资源相关应用. 今天在网上刚好看到了一篇介绍android Drawable资源的文章,分享 ...
- Android学习笔记之Drawable 文件夹
PS:最近闲着无聊..模仿去写个QQapp..效果还不错..并且从中又学习到了一些相关的东西,在这里进行一些相关总结.. 学习内容: Android 中 Drawable 文件夹内部相关属性.. ...
- android学习笔记37——Menu资源
Menu菜单资源 android应用推荐使用XML来定义菜单,其可提供更好的解耦方式. 菜单资源通常位于res/menu文件夹下,其菜单根元素为<menu.../>,menu元素下可包含子 ...
- android学习笔记35——AnimationDrawable资源
AnimationDrawable资源 AnimationDrawable,代表一个动画. android既支持传统的逐帧动画(类似于电影方式,一张图片一张图片的切换),也支持通过平移.变换计算出来的 ...
- android学习笔记34——ClipDrawable资源
ClipDrawable ClipDrawable代表从其他位图上截取一个“图片片段” 在XML文件中定义ClipDrawable对象使用<clip.../>元素,该元素的语法为: 以上语 ...
- Android学习15
Date&Time DatePicker(日期选择器),TimePicker(时间选择器),CalendarView(日期视图): 1.TextClock TextClock可以以字符串格式显 ...
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类... Drawabl ...
- android学习笔记32——资源
Android应用资源 资源分类: 1.无法直接访问的原生资源,保存于asset目录下 2.可通过R资源清单类访问的资源,保存于res目录下 资源的类型以及存储方式 android要求在res目录下用 ...
- 10、android学习资源整理
1.github上整理好的开源工程 https://github.com/Trinea/android-open-project 2.最流行的android组件大全 http://colobu.com ...
随机推荐
- Android五天乐(第二天)Activity跳转与传输数据,Fragment
1 Activity的生命周期 activity在生命周期内共同拥有执行.暂停,和停止三种状态.每次发生状态转换时,都有一个Activity方法将状态改变的消息通知给activity.activity ...
- Can rename table but can not truncate table
一个表无法truncate可是能够rename,这个乍听起来认为好奇怪,以下模拟该过程. 3个session: session1运行truncate和rename操作. session2运行lock表 ...
- Spring2.5学习4.2_Proxy实现动态代理(目标类实现随意接口)
静态代理的缺点是在代理类中绑定了固定的接口,不利于扩展,动态代理则不然,通过动态代理能够对不论什么实现某一接口的类进行功能性增强. 在java中动态代理由InvocationHander来实现. He ...
- Visual studio之C#实现数字输入模拟键盘
背景 当前做的一个上位机需运行在工控机上,众所周知,工控机不可能配备键盘,只能是触屏,而我当前的上位机需要输入参数,于是之前的解决办法既是调用Windows自带的OSK.exe虚拟键盘,方法在我的另一 ...
- 使用PostSharp在.NET平台上实现AOP
摘自:http://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html 本文首先介绍AOP(面向方面编程)的相关概念及理论,然后 ...
- TCP/IP协议族-----21、文件传送:FTP和TFTP
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Oracle SQL Developer出现错误 【ora-28002:the password will expire within 7 days】的解决办法
启动 Oracle SQL Developer的时候,点击用户system进行连接并输入密码后(下图左),会出现(下图右)提示信息: 即:[ora-28002:the password will ex ...
- Js日常笔记之this
在javascript中自己创建构造函数时可以利用this来指向新创建的对象上.这样就可以避免函数中的this指向全局了,如下 var x = 2; function test(){ this.x = ...
- C# 中字符串string和字节数组byte[]的转换
string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: stri ...
- strlen函数实现
原型: int strlen(const char *s); 作用:返回字符串的长度. 方法1:利用中间变量 int strlen(const char *s){ ; while(s[i] != '\ ...