国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現微信聊天語言點擊喇叭動畫效果

2019-10-21 21:45:29
字體:
來源:轉載
供稿:網友

微信聊天界面點擊語音時,喇叭的動畫效果,下面上代碼,該類是控制背景變化的工具類,不涉及語音錄制和播放。

圖片資源:

Android,微信,喇叭,動畫

Android,微信,喇叭,動畫

Android,微信,喇叭,動畫

package xxx;import android.os.Handler;import android.widget.ImageView;import xxx.R;import java.util.Timer;import java.util.TimerTask;public class VoicePlayingBgUtil {  private Handler handler;  private ImageView imageView;  private ImageView lastImageView;  private Timer timer = new Timer();  private TimerTask timerTask;  private int i;  private int modelType = 1;//類型  private int[] leftVoiceBg = new int[] { R.drawable.gray1, R.drawable.gray2, R.drawable.gray3 };  private int[] rightVoiceBg = new int[] { R.drawable.green1, R.drawable.green2, R.drawable.green3 };  private int[] collectVoiceBg = new int[] { R.drawable.collect_voice_1, R.drawable.collect_voice_2, R.drawable.collect_voice_3 };  public VoicePlayingBgUtil(Handler handler) {    super();    this.handler = handler;  }  public void voicePlay() {    if (imageView == null) {      return;    }    i = 0;    timerTask = new TimerTask() {      @Override      public void run() {        if (imageView != null) {          if (modelType == 1) {            changeBg(leftVoiceBg[i % 3], false);          }else if(modelType==2){            changeBg(rightVoiceBg[i % 3], false);          }else if(modelType==3){            changeBg(collectVoiceBg[i % 3], false);          }        }        else {          return;        }        i++;      }    };    timer.schedule(timerTask, 0, 500);  }  public void stopPlay() {    lastImageView = imageView;    if (lastImageView != null) {      switch (modelType) {        case 1:          changeBg(R.drawable.gray3, true);          break;        case 2:          changeBg(R.drawable.green3, true);          break;        case 3:          changeBg(R.drawable.collect_voice_3, true);        default:          changeBg(R.drawable.gray3, true);          break;      }      if (timerTask != null) {        timerTask.cancel();      }    }  }  private void changeBg(final int id, final boolean isStop) {    handler.post(new Runnable() {      @Override      public void run() {        if (isStop) {          lastImageView.setImageResource(id);        }        else {          imageView.setImageResource(id);        }      }    });  }  public void setImageView(ImageView imageView) {    this.imageView = imageView;  }  public void setModelType(int modelType) {    this.modelType = modelType;  }}

調用方法

 playBgUtil = new VoicePlayingBgUtil(handler); playBgUtil.stopPlay(); playBgUtil.voicePlay();

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜黄县| 康保县| 黄浦区| 潞西市| 安庆市| 星子县| 克拉玛依市| 铁岭市| 黄大仙区| 邹城市| 桑植县| 赤水市| 晋城| 平和县| 建湖县| 祁门县| 邮箱| 阿克苏市| 翁牛特旗| 天台县| 桓台县| 阳高县| 武邑县| 阜新| 文水县| 青冈县| 南充市| 积石山| 七台河市| 曲阜市| 大新县| 泰宁县| 辉县市| 常宁市| 商丘市| 鸡西市| 凉山| 商都县| 宜阳县| 麟游县| 乌审旗|