android淡入淡出动画循环,使用TransitionDrawable实现多张图片淡入淡出效果

这篇博客介绍了如何在Android欢迎界面创建广告页的自动轮播效果,通过TransitionDrawable实现图片淡入淡出的平滑切换。作者指出,相比于使用animation,TransitionDrawable能避免闪烁问题。文章详细展示了如何切换两张图片,以及如何通过线程和Handler实现多张图片的无限循环切换。并提供了一个简单的倒计时广告页示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎界面想做出广告页自动轮播的效果,图片切换的方式用淡入淡出的方式。这个在h5页面很容易就实现了,但是在android界面中,很容易就想到了动画animation动画来实现,但是发现使用动画的话,这种方式看起来不会自然,因为在调用statAnimation的时候因为图片已经显示了,这样再硬生生的播放一次动画其实会导致细微的闪烁效果。后来发现android中自带了TransitionDrawable类可以很轻松地实现这个效果,但是会有局限性。

先上效果图:

a55597d848cb840710e07d9f207baaf3.png

一、两张图片的切换效果,轻松实现

//讲需要切换的两张图片直接给TransitionDrawable对象

TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{getResources().getDrawable(R.drawable.advertiseone),getResources().getDrawable(R.drawable.advertisetwo)});

//一样用

imgAdvertise.setImageDrawable(transitionDrawable);

//切换图片的时间间隔

transitionDrawable.startTransition(3000);

二、切换多张图片

实现思路,通过开启一个线程(死循环),每隔一段时间发送消息到UI主线程中替换主线程中的transitionDrawable对象中的图片就可以了,需要用到handler。这里实现在广告倒计时中无限循环图片切换的次数

package com.coofond.carservi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值