android 麦克风 动画,Android实现微信聊天语言点击喇叭动画效果

6

android 麦克风 动画,Android实现微信聊天语言点击喇叭动画效果

```javapackage com.example.animationdemo;

import android.os.Handler;

import android.widget.ImageView;

import com.example.animationdemo.R;

public class VoiceAnimationUtil {

private ImageView mVoiceIcon;

private Handler mHandler;

private boolean isPlaying;

public VoiceAnimationUtil(ImageView voiceIcon) {

this.mVoiceIcon = voiceIcon;

this.mHandler = new Handler();

this.isPlaying = false;

}

// 开始播放语音动画 public void startVoiceAnimation() {

if (!isPlaying) {

isPlaying = true;

mHandler.post(mVoiceRunnable);

}

}

// 停止播放并重置动画 public void stopVoiceAnimation() {

isPlaying = false;

mHandler.removeCallbacks(mVoiceRunnable);

mVoiceIcon.setImageResource(R.drawable.voice_icon); //重置动画 }

// 控制图标切换动画 private Runnable mVoiceRunnable = new Runnable() {

@Override public void run() {

if (isPlaying) {

// 判断当前图标 if (mVoiceIcon.getTag() == null || mVoiceIcon.getTag().equals("voice_icon1")) {

mVoiceIcon.setImageResource(R.drawable.voice_icon2);

mVoiceIcon.setTag("voice_icon2");

} else {

mVoiceIcon.setImageResource(R.drawable.voice_icon1);

mVoiceIcon.setTag("voice_icon1");

}

mHandler.postDelayed(mVoiceRunnable,500); // 控制切换速度 }

}

};

}

```

上述代码是一个控制语音图标动画的工具类,利用Handler实现定时切换图标资源,从而实现喇叭动画效果。在使用时,需要结合实际情况调用startVoiceAnimation开始动画,stopVoiceAnimation停止并重置动画。

接下来我们可以在使用的地方调用这个工具类来实现微信聊天消息语音的点击动画效果。比如在Activity或者Fragment中:

```javapublic class ChatActivity extends AppCompatActivity {

private ImageView mVoiceIcon;

private VoiceAnimationUtil mVoiceAnimationUtil;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_chat);

mVoiceIcon = findViewById(R.id.voice_icon);

mVoiceAnimationUtil = new VoiceAnimationUtil(mVoiceIcon);

mVoiceIcon.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

// 模拟语音点击,开始播放动画 mVoiceAnimationUtil.startVoiceAnimation();

// 在真实场景中,需要调用相应的语音录制和播放功能来触发动画效果 // 可以在录制或播放完成后调用stopVoiceAnimation来停止动画 // 比如录制完成后mVoiceAnimationUtil.stopVoiceAnimation()

}

});

}

}

```

在上述代码中,我们创建了一个ChatActivity,并在其布局中包含了一个ImageView用来显示语音点击动画,然后在点击事件中调用VoiceAnimationUtil来控制动画的开始和停止。在实际场景中,可以结合语音录制和播放的功能来触发动画效果。

除此之外,也可以根据需求来定制动画效果,比如改变切换速度、使用帧动画等。希望以上代码对实现微信聊天语音点击喇叭动画效果有所帮助。

聊天android麦克风动画

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信公众号开发接口语音下载解决方案

下一篇 在微信收藏笔记中的录音文件拷贝或另存问题--适用于silk无法导出,看不见的情况