Android安卓 语音播放动画
新建voice_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/audio_icon3"
android:duration="200" />
<item
android:drawable="@drawable/audio_icon2"
android:duration="200" />
<item
android:drawable="@drawable/audio_icon1"
android:duration="200" />
</animation-list>
audio_icon为三张图片:
设置imageView的background属性
android:background="@drawable/voice_anim"
activity中获取imageView,获取imageView的background属性并强转成AnimationDrawable,获取布局对象并设置单击事件
private ImageView audioImg; //语音播放的imageView
private AnimationDrawable drawable;//语音播放动画
private LinearLayout voiceLayout; //语音布局
voiceLayout = getActivity().findViewById(R.id.addWork_voiceLayout);
audioImg = getActivity().findViewById(R.id.audio_img);
drawable = (AnimationDrawable)audioImg.getBackground();
voiceLayout.setOnClickListener(v -> playAudio());
/**
* 播放动画
*/
private void playAudio() {
if (drawable !=null) {
if (drawable.isRunning()){
drawable.stop();
//停止动画后回到第一帧
drawable.selectDrawable(0);
}else {
drawable.start();
}
}else {
System.out.println("声音播放动画文件无法获取");
}
}