Skip to content

GIF

この機能はAndroidでのみ利用可能です。

Glideとは異なり、GIFはデフォルトではサポートされていません。しかし、CoilにはGIFをサポートするための拡張ライブラリがあります。

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のデコードをサポートするために2つの異なるデコーダーが含まれています。GifDecoder はすべてのAPIレベルをサポートしますが、より低速です。AnimatedImageDecoder は、API 28以降でのみ利用可能なAndroidの ImageDecoder APIを利用しています。AnimatedImageDecoderGifDecoder よりも高速で、アニメーションWebP画像やアニメーションHEIF画像シーケンスのデコードをサポートしています。