IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Glide加载webp动画及监听动画播放结束 -> 正文阅读

[移动开发]Glide加载webp动画及监听动画播放结束

一、webpdecoder 源码

https://github.com/zjupure/GlideWebpDecoder

二、 引入

    // 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"

三、 布局

  <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"
    />

四、 使用

  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

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-19 11:59:57  更:2022-05-19 12:00:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:53:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码