Drawable资源之Transition Drawable

TransitionDrawable是能在两个drawable资源之间淡入淡出切换的drawable对象。

每个drawable在<transition>元素中都用<item>元素表示。不支持两个以上的项。向前过渡使用startTransition()。向后过渡使用reverseTransition()

文件位置

    res/drawable/filename.xml

    这个文件名用作资源标识

编译后的资源类型

   TransitionDrawable

使用方式

    在Java中:R.drawable.filename

    在XML中:@[package:]drawable/filename

语法

   <?xml version="1.0" encoding="utf-8"?>

   <transitionxmlns: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>

元素

   <transition>

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

       属性:

       xmlns:android

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

   <item>

       定义作为TransitionDrawable的一部分的drawable。必须是<transition>的子元素。可以用<bitmap>作为子元素。

       属性:

       android:drawable

           Drawable资源。必须。引用drawable资源。

       android:id

           资源ID。这个drawable的唯一资源ID。为了给item创建新的资源ID,要使用:“@+id/name”格式。这里的加号表示应当创建新的ID。你能使用这个标识来通过View.findViewById()Activity.findViewById()检索或修改这个drawable。

       android:top

           Integer。以像素为单位的顶部偏移量。

       android:right

           Integer。以像素为单位的右边偏移量。

       android:bottom

           Integer。以像素为单位的底部偏移量。

       android:left

           Integer。以像素为单位的左边偏移量。

 

例子

    在res/drawable/transition.xml中的内容如下:

   <?xml version="1.0" encoding="utf-8"?>

   <transition xmlns:android="http://schemas.android.com/apk/res/android">

       <item android:drawable="@drawable/on" />

       <item android:drawable="@drawable/off" />

   </transition>

    在XML布局中将这个drawable应用到视图上:

   <ImageButton

   android:id="@+id/button"

   android:layout_height="wrap_content"

   android:layout_width="wrap_content"

   android:src="@drawable/transition" />

    下方的代码在从第一项到第二项时执行500ms的过渡:

   ImageButton button = (ImageButton) findViewById(R.id.button);

   TransitionDrawable drawable = (TransitionDrawable) button.getDrawable();

   drawable.startTransition(500);

 

SEE ALSO

   TransitionDrawable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值