Android使用TransitionDrawable漸變切換多張圖片
使用TransitionDrawable漸變切換多張圖片,供大家參考,具體內(nèi)容如下
1、定義變量
private int change = 0;//記錄下標
private int[] ids = new int[]{R.drawable.anim_one, R.drawable.anim_two, R.drawable.anim_three};
private Drawable[] drawables;//圖片集合
private Thread mThread;//線程
private boolean mThreadFlag = true;//線程結(jié)束標志符
2、填充圖片
private void initDrawableView() {
//填充圖片
drawables = new Drawable[ids.length];
for (int i = 0; i < ids.length; i++) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
drawables[i] = getDrawable(ids[i]);
} else {
drawables[i] = getResources().getDrawable(ids[i]);
}
}
}
3、定義hander
private Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
int duration = msg.arg1;
TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{drawables[change % ids.length],
drawables[(change + 1) % ids.length]});
change++;//改變標識位置
repeatPlay.setBackground(transitionDrawable);
transitionDrawable.startTransition(duration);
return false;
}
});
4、開啟線程發(fā)送消息,讓transition一直在改變
private class MyRunnable implements Runnable {
@Override
public void run() {
//這個while(true)是做死循環(huán)
while (mThreadFlag) {
int duration = 5000;//改變的間隔
Message message = mHandler.obtainMessage();
message.arg1 = duration;
mHandler.sendMessage(message);
try {
Thread.sleep(duration);
//隔duration秒發(fā)送一次
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
5、在onCreate()中開啟線程,改變transition,切換圖片
mThread = new Thread(new MyRunnable()); mThread.start();
6、在onDestroy()中結(jié)束線程
mThreadFlag = false;//結(jié)束線程
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android中Java instanceof關(guān)鍵字全面解析
instanceof關(guān)鍵字用于判斷一個引用類型變量所指向的對象是否是一個類(或接口、抽象類、父類)的實例.這篇文章主要介紹了Android中Java instanceof關(guān)鍵字全面解析的相關(guān)資料,需要的朋友可以參考下2016-07-07
Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法
這篇文章主要介紹了Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法,實例分析了Android圖片播放及定時器的相關(guān)使用技巧,非常具有使用價值,需要的朋友可以參考下2015-10-10
在Android app中實現(xiàn)九(n)宮格圖片連續(xù)滑動效果
這篇文章主要介紹了在Android app中實現(xiàn)九(n)宮格圖片連續(xù)滑動效果的方法,作者舉了鳳凰新聞應用的例子,同理功能圖標也可以利用這樣的滑動效果,需要的朋友可以參考下2016-02-02
Android RecyclerView實現(xiàn)下拉刷新和上拉加載更多
這篇文章主要為大家詳細介紹了Android RecyclerView實現(xiàn)下拉刷新和上拉加載更多,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Android 系統(tǒng)服務TelecomService啟動過程原理分析
這篇文章主要介紹了Android 系統(tǒng)服務TelecomService啟動過程原理分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07

