Android应用资源---绘制资源类型(Drawable)(四)
2956 点击·0 回帖
![]() | ![]() | |
![]() | 级别列表 级别列表管理着一组可选择的绘制资源,被管理的每个资源都会给分配一个最大的数字值。调用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" Androidrc="@drawable/transition"/> 下面的代码在第一项到第二项之间要执行500毫秒的过渡: ImageButton button =(ImageButton) findViewById(R.id.button); TransitionDrawable drawable =(TransitionDrawable) button.getDrawable(); drawable.startTransition(500); | |
![]() | ![]() |