Android使用TransitionDrawable渐变切换多张图片
使用TransitionDrawable渐变切换多张图片,供大家参考,具体内容如下
1、定义变量
privateintchange=0;//记录下标
privateint[]ids=newint[]{R.drawable.anim_one,R.drawable.anim_two,R.drawable.anim_three};
privateDrawable[]drawables;//图片集合
privateThreadmThread;//线程
privatebooleanmThreadFlag=true;//线程结束标志符
2、填充图片
privatevoidinitDrawableView(){
//填充图片
drawables=newDrawable[ids.length];
for(inti=0;i=Build.VERSION_CODES.LOLLIPOP){
drawables[i]=getDrawable(ids[i]);
}else{
drawables[i]=getResources().getDrawable(ids[i]);
}
}
}
3、定义hander
privateHandlermHandler=newHandler(newHandler.Callback(){
@Override
publicbooleanhandleMessage(Messagemsg){
intduration=msg.arg1;
TransitionDrawabletransitionDrawable=newTransitionDrawable(newDrawable[]{drawables[change%ids.length],
drawables[(change+1)%ids.length]});
change++;//改变标识位置
repeatPlay.setBackground(transitionDrawable);
transitionDrawable.startTransition(duration);
returnfalse;
}
});
4、开启线程发送消息,让transition一直在改变
privateclassMyRunnableimplementsRunnable{
@Override
publicvoidrun(){
//这个while(true)是做死循环
while(mThreadFlag){
intduration=5000;//改变的间隔
Messagemessage=mHandler.obtainMessage();
message.arg1=duration;
mHandler.sendMessage(message);
try{
Thread.sleep(duration);
//隔duration秒发送一次
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
}
5、在onCreate()中开启线程,改变transition,切换图片
mThread=newThread(newMyRunnable()); mThread.start();
6、在onDestroy()中结束线程
mThreadFlag=false;//结束线程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短