一、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
51var 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动画及监听动画播放结束内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复