第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用Glide控制GIF動畫

用Glide控制GIF動畫

www說 2023-05-24 16:03:54
我正在使用Glide將動畫 GIF 動畫加載到ImageView. 它按預期工作,無限循環(huán):GlideApp.with(getContext())             .load(R.raw.my_gif_animation)             .into(this)我想在每次 GIF 動畫循環(huán)開始(或結(jié)束)時添加振動,但我找不到任何回調(diào)、偵聽器或幀計數(shù)器,我可以用它們來了解動畫循環(huán)何時開始(或結(jié)束)。歡迎在Java和中回答Kotlin。
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

我找到了解決問題的方法,事實證明我們可以在資源加載后訪問 GIF 動畫的幀。在 running 中使用此信息Thread,我不僅能夠聽到動畫的結(jié)束/開始,而且還能根據(jù)動畫幀非常精確地調(diào)整時間。


這是我的工作代碼Kotlin(其中Java非常相似):


GlideApp.with(getContext())

            .asGif()

            .load(R.raw. my_gif_animation)

            .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.NONE))

            .listener(object : RequestListener<GifDrawable> {


                override fun onLoadFailed(

                    e: GlideException?,

                    model: Any,

                    target: Target<GifDrawable>,

                    isFirstResource: Boolean

                ): Boolean {

                    return false

                }


                override fun onResourceReady(

                    resource: GifDrawable?,

                    model: Any,

                    target: Target<GifDrawable>,

                    dataSource: DataSource,

                    isFirstResource: Boolean

                ): Boolean {

                    myThread = Thread(Runnable {

                        while (true) {

                            if (resource?.isRunning == true) {

                                if (resource.frameIndex == 10).toInt()) {

                                    // This code will be executed every time the 10th frame of the GIF animation is played.. 

                                }

                                if (Thread.interrupted()) break

                            }

                        }

                    })

                    myThread?.start()

                    return false

                }

            })

            .into(this)


查看完整回答
反對 回復 2023-05-24
  • 1 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號