生活随笔
收集整理的這篇文章主要介紹了
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() {
@Overridepublic 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() {
@Overridepublic 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();
總結
以上是生活随笔為你收集整理的Android仿微信聊天语言点击喇叭动画效果的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。