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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

用Glide控制GIF動(dòng)畫

用Glide控制GIF動(dòng)畫

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

1 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

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


這是我的工作代碼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)


查看完整回答
反對(duì) 回復(fù) 2023-05-24
  • 1 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)