Android 定時器實現(xiàn)圖片的變換
Android 定時器實現(xiàn)圖片的變換
在Android中,要讓每秒進(jìn)行一次ui更新,就需要利用到定時器和handler,message的結(jié)合,如果不使用handler就不能達(dá)到更新ui的效果,我的理解是handler中存在一個隊列問題,可以保證不產(chǎn)生阻塞。
代碼如下:
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends Activity
{
private LinearLayout linearlayout;
private ImageView main_imageview;
private int i = 0;
Timer timer = new Timer();
private Handler handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
Log.e("@@@", i + "");
//index=msg.what;
if (i > 6)
{
i = 0;
}
else
{
switch (i)
{
case 1:
main_imageview.setImageResource(R.drawable.loader_frame_1);
break;
case 2:
main_imageview.setImageResource(R.drawable.loader_frame_2);
break;
case 3:
main_imageview.setImageResource(R.drawable.loader_frame_3);
break;
case 4:
main_imageview.setImageResource(R.drawable.loader_frame_4);
break;
case 5:
main_imageview.setImageResource(R.drawable.loader_frame_5);
break;
case 6:
main_imageview.setImageResource(R.drawable.loader_frame_6);
break;
default:
break;
}
linearlayout.invalidate();
}
super.handleMessage(msg);
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
}
public void initView()
{
linearlayout = (LinearLayout) findViewById(R.id.background_main);
main_imageview = (ImageView) findViewById(R.id.main_imageview);
timer.scheduleAtFixedRate(new TimerTask()
{
@Override
public void run()
{
// TODO Auto-generated method stub
i++;
Message mesasge = new Message();
mesasge.what = i;
handler.sendMessage(mesasge);
}
}, 0, 500);
}
@Override
protected void onDestroy()
{
// TODO Auto-generated method stub
timer.cancel();
super.onDestroy();
}
}
在這段代碼中有兩點需要注意:
第一:在更新完圖片后,需要刷新整個布局,linearlayout.invalidate();
第二:在用完定時器timer后,要在Activity被干掉的同時銷毀定時器timer。
以上就是Android 定時器的應(yīng)用,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android使用Handler實現(xiàn)定時器與倒計時器功能
- Android定時器和倒計時實現(xiàn)淘寶秒殺功能
- 詳解Android實現(xiàn)定時器的幾種方法
- Android定時器Timer的停止和重啟實現(xiàn)代碼
- Android實現(xiàn)定時器的五種方法實例詳解
- Android 實現(xiàn)定時器的四種方式總結(jié)及實現(xiàn)實例
- Android中使用定時器的三種方法
- Android定時器實現(xiàn)的幾種方式整理及removeCallbacks失效問題解決
- 基于Android中實現(xiàn)定時器的3種解決方法
- Android定時器實現(xiàn)定時執(zhí)行、重復(fù)執(zhí)行、定時重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式
相關(guān)文章
基于Viewpager2實現(xiàn)登錄注冊引導(dǎo)頁面
這篇文章主要為大家詳細(xì)介紹了基于Viewpager2實現(xiàn)登錄注冊引導(dǎo)頁面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09
Android應(yīng)用創(chuàng)建桌面快捷方式代碼
這篇文章主要為大家詳細(xì)介紹了Android應(yīng)用創(chuàng)建桌面快捷方式代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
Android開發(fā)實現(xiàn)簡單的觀察者與被觀察者示例
這篇文章主要介紹了Android開發(fā)實現(xiàn)簡單的觀察者與被觀察者,簡單描述了觀察者模式的概念、原理并結(jié)合實例形式分析了Android實現(xiàn)觀察者模式的簡單操作技巧,需要的朋友可以參考下2017-11-11
android 字體顏色選擇器(ColorPicker)介紹
本文將詳細(xì)介紹android 字體顏色選擇器(ColorPicker)需要了解更多的朋友可以參考下2012-11-11
Android 游戲開發(fā)之Canvas畫布的介紹及方法
Android 游戲開發(fā)之Canvas畫布的介紹及方法,需要的朋友可以參考一下2013-06-06
Android教你如何發(fā)現(xiàn)APP卡頓的實現(xiàn)
這篇文章主要介紹了Android教你如何發(fā)現(xiàn)APP卡頓的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Android App在ViewPager中使用Fragment的實例講解
這篇文章主要介紹了Android App在ViewPager中使用Fragment的實例講解,ViewPager組件主要被用來制作滑動切換效果,需要的朋友可以參考下2016-03-03

