Skip to content

GIF 動畫

此功能僅適用於 Android。

與 Glide 不同,GIF 動畫預設不支援。然而,Coil 有一個擴充函式庫來支援它們。

若要新增 GIF 動畫支援,請導入此擴充函式庫:

kotlin
implementation("io.coil-kt.coil3:coil-gif:3.3.0")

就這樣!ImageLoader 將會自動偵測任何 GIF 動畫,透過其檔案標頭並正確地解碼它們。

您可以選擇手動將解碼器新增到建構 ImageLoader 時的元件註冊表:

kotlin
val imageLoader = ImageLoader.Builder(context)
    .components {
        if (SDK_INT >= 28) {
            add(AnimatedImageDecoder.Factory())
        } else {
            add(GifDecoder.Factory())
        }
    }
    .build()

若要轉換 GIF 動畫每個影格的像素資料,請參閱 AnimatedTransformation

!!! 注意 Coil 包含兩個獨立的解碼器來支援 GIF 動畫解碼。GifDecoder 支援所有 API 等級,但速度較慢。AnimatedImageDecoder 由 Android 的 ImageDecoder API 提供支援,該 API 僅在 API 28 及更高版本上可用。AnimatedImageDecoderGifDecoder 更快,並支援解碼動態 WebP 影像和動態 HEIF 影像序列。

```