我是靠谱客的博主 孤独音响,这篇文章主要介绍Glide加载webp动画及监听动画播放结束,现在分享给大家,希望可以做个参考。

一、webpdecoder 源码

https://github.com/zjupure/GlideWebpDecoder

二、 引入

复制代码
1
2
3
4
5
6
7
// webpdecoder implementation "com.github.zjupure:webpdecoder:2.0.4.13.1" // glide 4.10.0+ implementation "com.github.bumptech.glide:glide:4.13.1" annotationProcessor "com.github.bumptech.glide:compiler:4.13.1"

三、 布局

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<ImageView android:id="@+id/iv_load" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageView android:layout_marginTop="30dp" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:id="@+id/iv_order_click" android:layout_width="wrap_content" android:layout_height="wrap_content" />

四、 使用

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var ivLoad = findViewById<ImageView>(R.id.iv_load) var ivOrderClick = findViewById<ImageView>(R.id.iv_order_click) var circleCrop = CenterInside() ivOrderClick.setOnClickListener { Toast.makeText(this, "点击了小手跳转", Toast.LENGTH_SHORT).show() } Glide.with(this).load(R.mipmap.iv_load_guide).optionalTransform(circleCrop) .optionalTransform(WebpDrawable::class.java, WebpDrawableTransformation(circleCrop)) .addListener(object : RequestListener<Drawable> { override fun onLoadFailed( e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean ): Boolean { return false } override fun onResourceReady( resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean ): Boolean { var webpDrawable = (resource as WebpDrawable) //设置循环次数 webpDrawable.loopCount = 1 //动画开始结束监听 webpDrawable.registerAnimationCallback(object : Animatable2Compat.AnimationCallback() { override fun onAnimationStart(drawable: Drawable?) { super.onAnimationStart(drawable) } override fun onAnimationEnd(drawable: Drawable?) { super.onAnimationEnd(drawable) Glide.with(this@MainActivity).load(R.mipmap.iv_order_click) .optionalTransform(circleCrop) .optionalTransform( WebpDrawable::class.java, WebpDrawableTransformation(circleCrop) ) .into(ivOrderClick) } }) return false } }) .into(ivLoad) }

五、 附加

https://www.csdn.net/tags/MtjaggzsNDgwOC1ibG9n.html

最后

以上就是孤独音响最近收集整理的关于Glide加载webp动画及监听动画播放结束的全部内容,更多相关Glide加载webp动画及监听动画播放结束内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部