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("声音播放动画文件无法获取");
    }
}
posted @ 2021-11-09 10:18  起个名怎么这么难  阅读(380)  评论(0编辑  收藏  举报