package Ġjp . k ale id ot 7 2 5 . gif Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Raw Res Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġco il . Image Loader Ċ import Ġco il . decode . Decoder Ċ import Ġco il . decode . Gif Decoder Ċ import Ġco il . decode . Image Decoder Decoder Ċ import Ġco il . load Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġget Gif Uri ( R . raw . circle ) ĊĠĠĠĠĠĠĠ Ġval Ġloader Ġ= ĠImage Loader . Builder ( application Context ). component Registry Ġ{ Ġadd ( get Gif Decoder ()) Ġ}. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠimageView Ġ= ĠfindViewById < ImageView >( R . id . gif _ image _ view ) ĊĠĠĠĠĠĠĠ ĠimageView . load ( uri Ġ= Ġuri , Ġimage Loader Ġ= Ġloader ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠRaw Res Id Ġ ãģĭãĤī ĠUri ĠãĤĴ åıĸå¾Ĺ ãģĻãĤĭ ĊĠĠĠ Ġprivate Ġfun Ġget Gif Uri (@ Raw Res Ġraw Res Id : ĠInt ): ĠUri ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUri . parse (" android . resource :// $ packageName /$ raw Res Id ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAPI Ġ 2 8 Ġ ä»¥ä¸Ĭ ãģł ãģ¨ ĠImage Decoder Decoder ĠãģĮ ĠAndroid ĠãĤ Ī ãĤĬ æıĲä¾Ľ ãģķãĤĮãģ¦ãģĦãĤĭ ĊĠĠĠ Ġ// ĠG if Decoder ĠãĤĴ ä½¿ ãģĨ ãĤĪ ãĤĬ ãģ¯ ĠImage Decoder Decoder ĠãĤĴ ä½¿ ãģĨ ãģ® ãģĮ æĹ© ãģĦ ãĤī ãģĹãģ ı ĠAPI Ġ 2 8 Ġ ä»¥ä¸Ĭ ãģ¯ ä½¿ ãģĨ ãģĵãģ¨ ãĤĴ æİ¨ å¥ ¨ ãģĹãģ¦ãģĦãĤĭ ĊĠĠĠ Ġprivate Ġfun Ġget Gif Decoder (): ĠDecoder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 8 ) ĠImage Decoder Decoder () Ġelse ĠG if Decoder () ĊĠĠĠ Ġ} Ċ } Ċ