Android 淡入淡出动画

帧动画的帧显示方式采用后面一帧直接覆盖前面一帧,这个快速轮播时没有问题,但是如果每一帧的间隔时间比较长(比如超过0.5秒),两帧之间的画面切换就会很生硬,直接从前一帧变成后一帧会让人觉得很突兀。为了解决这种长时间切换图片在视觉效果方面的问题。Android提供了 过滤图形TransitionDrawable处理两张图片之间的渐变显示,即淡入淡出的动画效果。

过滤图形同样需要宿主视图显示图形,即调用ImageView对象的setImageDrawable方法进行图形加载操作。下面是TransitionDrawable的常用方法说明。

 构造函数:             指定过滤图形的图形数组。该图形数据大小为2,包含前后两张图片。

 startTransition:     开始过渡操作。这里需要先设置宿主主视图,然后才能进行渐变显示。

 resetTransition:    重置过渡操作

 reverseTransition:倒过来执行过度操作

private  void  showFadeAnimation()
{
    Drawable[] drawableArray = {
            getResources().getDrawable(R.drawable.fade_begin),
            getResources().getDrawable(R.drawable.fade_end),
    };
    TransitionDrawable td_fade = new TransitionDrawable(drawableArray);
    ImageView image = findViewById(R.id.frameAnim);
    image.setImageDrawable(td_fade);
    td_fade.startTransition(3300);
}


Android 淡入淡出动画_第1张图片   Android 淡入淡出动画_第2张图片


Android 淡入淡出动画_第3张图片

你可能感兴趣的:(Android)