欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android中淡入淡出动画

程序员文章站 2022-03-18 17:01:22
...

有时候我们需要切换图片的显示时,如果直接更换,展示出来的效果就会比较生硬。这是很多同学会想到淡入淡出效果。这里我们就提供了在ImageView中两张图通过淡入淡出效果切换的方式。

既然要做淡入淡出效果,首先我们需要用到一个类,那就是TransitionDrawable,TransitionDrawable的相关常用方法如下:

构造函数 指定过渡图形的图形数组。该图形数组大小为2,包含前后两张图形。
startTransition 开始过渡操作。这里需要先设置宿主视图,然后才能进行渐变显示。
resetTransition 重置过渡操作
reverseTransition 倒过来执行过渡操作

下面是一个使用淡入淡出动画切换图片的示例。布局文件中就是一个ImageView,所以我就不贴了。

public class MainActivity extends AppCompatActivity{

    private ImageView iv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv = findViewById(R.id.iv);
        showFadeAnimation();
    }

    private void showFadeAnimation(){
        //淡入淡出动画需要先定义一个图形资源数组,用于变化图片
        Drawable[] drawableArray = {
                getResources().getDrawable(R.mipmap.aaaaa),
                getResources().getDrawable(R.mipmap.flow_p1)
        };
        //创建一个用于淡入淡出动画的过渡图形
        TransitionDrawable td_fade = new TransitionDrawable(drawableArray);
        //设置图像视图的图像为过渡图形
        iv.setImageDrawable(td_fade);
        //开始过渡图形的变换过程,其中变换时长为3秒
        td_fade.startTransition(3000);
    }
}

这样我们就实现了图片切换的淡入淡出过渡效果。