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)(一)

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

Android资源之Drawable介绍(一)

在Android开发中,资源文件是我们最熟悉和最需要的重要部分。Drawable作为资源的一种,更是项目中必备的资源。 Android中的Drawable资源有很多种,诸如LayerDrawable...
  • true100
  • true100
  • 2016年08月25日 17:11
  • 1579

Canvas和Drawable 绘制组件

将博客搬至CSDN
  • snowgeneral
  • snowgeneral
  • 2014年10月23日 11:28
  • 1988

PHP中的资源类型

在PHP中,我们经常使用到资源类型变量。例如:mysql连接、文件句柄等。 这些变量无法使用标量来表示,那么在Zend内核中是如何将PHP中的资源变量与C语言中的资源衔接的呢? 一、资源变量...
  • woshinannan741
  • woshinannan741
  • 2016年01月14日 10:28
  • 2632

android中drawable资源的解释及例子

文章中的内容参考Dev Guide中的Drawable Resources,英文好的朋友可以直接去读英文。总结这篇文章的目的是自己在使用drawable资源遇到一些问题跟大家分享下,同时整理下自己对d...
  • wode_dream
  • wode_dream
  • 2014年08月15日 14:25
  • 6453

Android的资源类型之Drawable

Drawable资源概述: 一种可以通过getDrawable(int)方法获取到的,或者可以通过android:drawable和android:icon属性应用到XML文件的资源。个人理解,可以转...
  • gongsunjinqian
  • gongsunjinqian
  • 2016年07月13日 18:17
  • 696

Android 资源分类详解

一、Android中资源分类详解 1、Android资源分类 Android中的资源分为两大类 : 可直接访问的资源, 无法直接访问的原生资源; -- 直接访问资源 : 这些资源可以使用 R. ...
  • Silk2018
  • Silk2018
  • 2016年04月13日 14:51
  • 552

【Android】资源系列(一) -- 国际化(多语言)

1、Android 中要实现国际化比较简单。     字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了,     如,英语环境下的,文件夹命名为:values-en...
  • u012386696
  • u012386696
  • 2015年07月18日 17:07
  • 2169

安卓 总结:写在drawable文件夹中的 xml 图形资源文件

1、StateListDrawable 资源: 作用:比如按钮在“按下去”和“没按下去”时颜色的差别。 根标签:  ...   实例代码:创建资源文件  my_image.xml ...
  • hlbt0112
  • hlbt0112
  • 2015年03月15日 16:48
  • 1104

php变量类型之资源变量

php resource 资源类型 资源类型是一种特殊的变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。 比如数据库连接,打开文件,图形画布区域等。资源类型其实仅仅是一个整数,而...
  • masbwylc
  • masbwylc
  • 2013年11月01日 10:48
  • 617
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android应用资源---绘制资源类型(Drawable)(四)
举报原因:
原因补充:

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