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