小程序视频源码帧动画的实现

帧动画是顺序播放一组预先定义好的图片,类似于电影播放。不同于View动画,系 统提供了另外一个类AnimationDrawable来使用帧动画
帧动画的使用比较简单,但是比较容易引起OOM,所以在使用帧动画时应尽量避免 使用过多尺寸较大的图片。

<?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/test"
        android:duration="3000" />
    <item
        android:drawable="@drawable/g"
        android:duration="3000" />
    <item
        android:drawable="@drawable/d"
        android:duration="3000" />
    <item
        android:drawable="@drawable/e"
        android:duration="3000" />
    <item
        android:drawable="@drawable/f"
        android:duration="3000" />
</animation-list>

android:oneshot如果设置成false,会无限循环播放,如果设置成true 只循环一次停止到最后一张

class MainActivity : AppCompatActivity() {
    private var root: LinearLayout? = null
    private var img: ImageView? = null
    @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        root = findViewById(R.id.root)
        img = findViewById(R.id.img)

        val ani:AnimationDrawable = getDrawable(R.drawable.animation_drawable) as AnimationDrawable
        img!!.setImageDrawable(ani)
        ani.start()
    }

}
发布了151 篇原创文章 · 获赞 65 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/yb1314111/article/details/105363243