Android加载AnimatedImageDrawable播放gif动态图,Kotlin

Android加载AnimatedImageDrawable播放gif动态图,Kotlin

import android.graphics.ImageDecoder
import android.graphics.ImageDecoder.OnHeaderDecodedListener
import android.graphics.drawable.AnimatedImageDrawable
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatImageView
import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val iv = findViewById<AppCompatImageView>(R.id.iv)

        lifecycleScope.launch(Dispatchers.IO) {
            val source = ImageDecoder.createSource(resources, R.drawable.mygif)
            val drawable = ImageDecoder.decodeDrawable(source, object : OnHeaderDecodedListener {
                override fun onHeaderDecoded(
                    decoder: ImageDecoder,
                    info: ImageDecoder.ImageInfo,
                    source: ImageDecoder.Source
                ) {
                    Log.d("fly", "isAnimated=${info.isAnimated}") //是否是gif动画
                }
            })

            iv.setImageDrawable(drawable)
            if (drawable is AnimatedImageDrawable) {
                //drawable.repeatCount=999 循环重复播放gif动态图的次数。
                drawable.start() //开始播放。
            }
        }
    }
}

Android加载Gif图片的一般方法:Movie实现-CSDN博客文章浏览阅读8k次。Android加载Gif图片的一般方法:Movie实现Android的ImageView无法直接加载Gif图片,如果需要在自己的代码中加载一个gif图片(这很常见,比如下载过程中的loading以示正在下载的转动的圆球),则无法直接用ImageView。鉴于此,Android社区开发者为解决此问题贡献了很多解决方案,其中一种比较简易且比较流行的做法是通过Android Movie的方式https://blog.csdn.net/zhangphil/article/details/50441944android Glide加载gif动图和本地视频,Java_glide加载视频_zhangphil的博客-CSDN博客文章浏览阅读867次。droid Glide加载gif动图和本地视频,Java。_glide加载视频https://blog.csdn.net/zhangphil/article/details/129451106

Android AnimationDrawable动画与APP启动引导页面-CSDN博客文章浏览阅读5.1k次。Android AnimationDrawable动画与APP启动、加载引导页面(画面)AnimationDrawable是Android的Frame动画,可以简单的认为此AnimationDrawable能够将一系列资源图片加载成“电影”一样播放。当下,在一些APP中,往往需要在APP切入主题之前加载一些引导页面(宣传海报、装饰画面、赞助商广告等等),这些内容要两个共同特点:(1)不是Ahttps://blog.csdn.net/zhangphil/article/details/47416915

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/134561033