中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Android使用TransitionDrawable漸變切換多張圖片

發布時間:2020-10-20 13:51:02 來源:腳本之家 閱讀:145 作者:lijiao 欄目:移動開發

使用TransitionDrawable漸變切換多張圖片,供大家參考,具體內容如下

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;//線程結束標志符

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、開啟線程發送消息,讓transition一直在改變

private class MyRunnable implements Runnable {
    @Override
    public void run() {
      //這個while(true)是做死循環
      while (mThreadFlag) {
        int duration = 5000;//改變的間隔
        Message message = mHandler.obtainMessage();
        message.arg1 = duration;
        mHandler.sendMessage(message);
        try {
          Thread.sleep(duration);
          //隔duration秒發送一次
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
    }
  }

5、在onCreate()中開啟線程,改變transition,切換圖片

mThread = new Thread(new MyRunnable());
mThread.start();

6、在onDestroy()中結束線程

mThreadFlag = false;//結束線程

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

时尚| 芜湖市| 漳浦县| 衢州市| 乐安县| 如皋市| 婺源县| 阆中市| 九江市| 松原市| 彰化县| 石家庄市| 延津县| 苏尼特左旗| 寿宁县| 句容市| 开阳县| 怀来县| 玉山县| 阿坝县| 兴仁县| 昌黎县| 绥宁县| 绵竹市| 新丰县| 三门县| 耒阳市| 卓资县| 双城市| 株洲市| 武平县| 阿拉善左旗| 锡林郭勒盟| 德钦县| 望江县| 瑞丽市| 巴林右旗| 云浮市| 都兰县| 辽中县| 鄢陵县|