Drawable子类之——TransitionDrawable (渐变)

本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。

Transition对应的标签是<transition>,,他用于显示两个Drawable之间的淡入淡出的效果。

一、语法

<?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>

上面的子节点都比较简单,下面我们直接看代码效果吧

transition_simple.xml


<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/pic1" />
    <item android:drawable="@mipmap/pic2" />
</transition>

.
.
代码


import android.app.Activity;
import android.graphics.drawable.TransitionDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView image = (ImageView) findViewById(R.id.mIv);

        //得到一个Drawable,属于 TransitionDrawable 类型的
        TransitionDrawable transition = (TransitionDrawable)getResources().
                getDrawable(R.drawable.transition_simple);

        image.setImageDrawable(transition);
        transition.startTransition(2000); // 设定渐变的变化市场

    }
}

.
.
效果图:

transition渐变效果图.gif

了解更多的Drawable分类 Drawable图像资源抽象类
本篇完。

推荐阅读更多精彩内容