Android AnimationDrawable动画实现icon闪烁
程序员文章站
2024-03-24 14:48:16
...
在Dialer的通话中进行录音时,有个record icon在一闪一闪,看了源码发现挺好玩的,现在记录一下。
代码里的写法:
AnimationDrawable ad = (AnimationDrawable) mVoiceRecorderIcon.getDrawable();
if (ad != null) {
if (show && !ad.isRunning()) {
ad.start();
} else if (!show && ad.isRunning()) {
ad.stop();
}
}
获取一个帧动画image,
其中getDrawable返回的对象就是一个drawable ,
R.drawable.voice_record_indicator
xml布局写法:
<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="500" android:drawable="@drawable/incall_btn_recording"/>
<item android:duration="500">
<shape android:shape="rectangle">
<size android:width="@dimen/incall_record_icon_size"
android:height="@dimen/incall_record_icon_size"/>
<solid android:color="#00ffffff"/>
</shape>
</item>
</animation-list>
这里的duration决定了显示时间
然后AnimationDrawable的start和stop 决定了动画开关。
上一篇: dva.js 知识导图
下一篇: 杭电OJ2064 汉诺塔3