91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 定時器實現圖片的變換

發布時間:2020-08-28 04:34:50 來源:腳本之家 閱讀:190 作者:孵化恐龍蛋 欄目:移動開發

Android 定時器實現圖片的變換

在Android中,要讓每秒進行一次ui更新,就需要利用到定時器和handler,message的結合,如果不使用handler就不能達到更新ui的效果,我的理解是handler中存在一個隊列問題,可以保證不產生阻塞。 

代碼如下: 

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 定時器的應用,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涞源县| 康定县| 涿州市| 白水县| 河北区| 安远县| 乌拉特前旗| 崇阳县| 肃宁县| 汶川县| 侯马市| 沐川县| 农安县| 百色市| 南皮县| 明光市| 福泉市| 巴马| 乌拉特后旗| 靖州| 山西省| 滨海县| 永仁县| 平安县| 南开区| 舒兰市| 翁牛特旗| 井冈山市| 新余市| 辽源市| 轮台县| 中西区| 台中市| 隆昌县| 临清市| 齐齐哈尔市| 鄂尔多斯市| 克什克腾旗| 桑日县| 江源县| 哈密市|