Android应用资源---绘制资源类型(Drawable)(四)

翻译 2012年04月23日 08:45:03

级别列表

级别列表管理着一组可选择的绘制资源,被管理的每个资源都会给分配一个最大的数字值。调用setLevel()方法给装载在级别列表中的有android:maxLevel属性的绘制资源设置级别值。android:maxLevel的值要大于或等于传递给setLevel()方法的值。

文件位置(FILE LOCATION):

res/drawable/filename.xml

文件名被用作资源ID

被编译资源的数据类型(COMPILED RESOURCE DATATYPE):

资源指向一个LevelListDrawable对象。

资源引用(RESOURCE REFERENCE

Java代码中:R.drawable.filename

XML中:@[package:]drawable/filename

语法(SYNTAX):   

<?xml version="1.0" encoding="utf-8"?>
<level-list
   
xmlns:android="http://schemas.android.com/apk/res/android">
   
<item
       
android:drawable="@drawable/drawable_resource"
       
android:maxLevel="integer"
       
android:minLevel="integer"/>
</level-list>

元素(ELEMENTS):

<level-list>

它必须是根元素。包含一个或多个<item>元素。

属性(ATTRIBUTES):

xmlns:android

字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android

<item>

定义了某个级别中使用的一个可绘制资源。

属性(ATTRIBUTES):

android:drawable

绘制资源,必须的,它指向了一个要插入的可绘制资源。

android:maxLevel

整数值,指定这个项目所允许的最大级别。

android:minLevel

整数值,指定这个项目所允许的最小级别。

 

例子(EXAMPLE):

<?xml version="1.0" encoding="utf-8"?>
<level-listxmlns:android="http://schemas.android.com/apk/res/android">
   
<item
       
android:drawable="@drawable/status_off"
       
android:maxLevel="0"/>
   
<item
       
android:drawable="@drawable/status_on"
       
android:maxLevel="1"/>
</level-list>

一旦级别类被应用给了一个View对象,就能够调用setLevel()或setImageLevel()方法来改变级别。

 

过渡期绘制资源

TransitionDrawable是一个绘制资源对象,它能够在两个绘制资源之间渐入渐出。

每个可绘制资源都用一个<item>元素来代表,它被放在一个单一的<transition>元素内部。在<transition>元素内只能包含一个或两个<item>元素。向前过渡,要调用startTransition()方法,向后过渡,要调用reverseTransition()方法。

文件位置(FILE LOCATION):

res/drawable/filename.xml

文件名被用作资源ID

被编译资源的数据类型(COMPILED RESOURCE DATATYPE):

资源指向一个TransitionDrawable对象。

资源引用(RESOURCE REFERENCE):

Java代码中:R.drawable.filename

XML中:@[package:]drawable/filename

语法(SYNTAX):

<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
   
<item
       
android:drawable="@[package:]drawable/drawable_resource"
       
android:id="@[+][package:]id/resource_name"
       
android:top="dimension"
       
android:right="dimension"
       
android:bottom="dimension"
       
android:left="dimension"/>
</transition>

元素(ELEMENTS):

<transition>

必须的,它必须是根元素,它要包含一个或多个<item>元素。

属性(ATTRIBUTES):

xmlns:android

字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android

<item>

它定义了一个绘制过渡效果的绘制资源,必须是<tansition>元素的子元素,它还可以接收<bitmap>子元素。

属性(ATTRIBUTES):

android:drawable

绘制资源,必须的。它应用一个可绘制资源。

android:id

资源ID,针对这个绘制资源的唯一的资源ID。要使用“@+id/name”格式,给这个项目创建一个新的资源ID,“+”指示应该给这个资源创建一个新的ID。通过这个ID,可以使用View.findViewById()Activity.findViewById()方法来获取或编辑这个可绘制资源。

android:top

整数值。上边缘的偏移像素。

android:right

整数值。右边缘的偏移像素。

android:bottom

整数值。下边缘的偏移像素。

android:left

整数值。左边缘的偏移像素。

例子(EXAMPLE):

XML文件被保存在res/drawable/transition.xml

<?xml version="1.0" encoding="utf-8"?>
<transitionxmlns:android="http://schemas.android.com/apk/res/android">
   
<itemandroid:drawable="@drawable/on"/>
   
<itemandroid:drawable="@drawable/off"/>
</transition>

布局XML把这个绘制资源应用给一个View对象:

<ImageButton
   
android:id="@+id/button"
   
android:layout_height="wrap_content"
   
android:layout_width="wrap_content"
   
android:src="@drawable/transition"/>

下面的代码在第一项到第二项之间要执行500毫秒的过渡:

ImageButton button =(ImageButton) findViewById(R.id.button);
TransitionDrawable drawable =(TransitionDrawable) button.getDrawable();
drawable
.startTransition(500);

 

相关文章推荐

Android应用资源---绘制资源类型(Drawable)(二)

Nine-Patch NinePatch资源是一个PNG图片,在这个图片内能够定义拉伸区域,当在View对象的内容超过了普通图片的边框时,Android会缩放这个拉伸区域。通常,把这种类型的图片作为...

Android应用资源---绘制资源类型(Drawable)(六)

缩放可绘制资源 定义在XML中的一个可绘制资源,它能够基于自己当前的级别来改变另一个可绘制资源的尺寸。 文件位置(FILE LOCATION):     res/drawable/filenam...

Android应用资源---绘制资源类型(Drawable)(一)

可绘制资源是指能够被绘制到屏幕上的图形的一般化概念,并且能够用诸如getDrawable(int)等API方法来获取这些资源,或者使用诸如android:drawable和android:icon属性...

Android应用资源---绘制资源类型(Drawable)(五)

嵌入可绘制资源 定义在XML中的一个可绘制资源,它能够用指定的距离嵌入到另一个可绘制资源中。这种资源可在View对象需要的背景比它的实际边界小的时候使用。 文件位置(FILE LOCATION):...

Android应用资源---绘制资源类型(Drawable)(三)

状态列表 StateListDrawable一个被定义在XML中的可绘制对象,它依赖对象的状态,使用不同的图片来代表同一个图形。如,一个Button能够存在几种不同状态中的一种(如按下、聚焦或者都不...

Android应用资源---菜单资源类型(Menu)

菜单资源定义了应用程序的菜单(选项菜单、内容菜单或子菜单),这些菜单能够使用MenuInflater对象来装载。 文件位置(FILE LOCATION): res/menu/filename.xm...

Android应用资源---布局资源类型(Layout)

布局资源定义了UI的Activity或组件的界面架构。 文件位置(FILE LOCATION): res/layout/filename.xml 文件名被用作资源ID。 被编译资源的数据类型(...

Android应用资源---其他资源类型(More Types)(二)

Dimension型资源 定义在XML中的尺寸值。它是一个带有尺寸单位的数字。例如:10px、2in、5sp。以下是Android系统支持的尺寸单位: dp 密度无关的像素,它是基于屏幕的物理密...

Android应用资源---字符串资源类型(String)

字符串资源给应用程序提供带有文本样式和格式选项的文本字符串。能够给应用程序提供三种类型的字符串资源: 1. String 提供单一字符串的XML资源。 2. String Array 提供一个...

从零学Android(八)、Android资源类型之Drawable资源

Drawable资源代表着那些可以绘制在屏幕上,而且可以通过API方法getDrawable(int)获取到的图像资源,或者通过android:drawable属性或android:icon属性被其它...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android应用资源---绘制资源类型(Drawable)(四)
举报原因:
原因补充:

(最多只允许输入30个字)