ディスクから画像を読み込む
Image
コンポーザブルを使用して、画面にグラフィックを表示します。ディスクから画像(PNG、JPEG、WEBP など)やベクター リソースを読み込むには、painterResource
API を画像参照とともに使用します。アセットのタイプを認識する必要はありません。Image
修飾子または paint
修飾子で painterResource
を使用するだけです。
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
アプリにユーザー補助機能を実装にするには、画面上の視覚要素に contentDescription
を指定します。TalkBack ではコンテンツの説明が読み上げられます。読み上げや翻訳の際には、テキストを意味のあるものにする必要があります。上記の例では、stringResource()
を使用して、翻訳されたコンテンツの説明を strings.xml
ファイルから読み込んでいます。視覚的装飾のためだけに画面上に視覚要素を使用する場合は、スクリーン リーダーで無視されるように、contentDescription
を null
に設定します。
下位レベルの ImageBitmap
固有の機能が必要な場合は、ImageBitmap.imageResource()
を使用してビットマップを読み込みます。ImageBitmaps について詳しくは、ImageBitmap と ImageVector のセクションをご覧ください。
ドローアブルのサポート
painterResource
は現在、次の種類のドローアブルをサポートしています。
AnimatedVectorDrawable
BitmapDrawable
(PNG、JPG、WEBP)ColorDrawable
VectorDrawable
インターネットから画像を読み込む
インターネットから画像を読み込む際には、この処理に役立つサードパーティ ライブラリをいくつか利用できます。画像読み込みライブラリでは、キャッシュ保存(画像を何度もダウンロードする必要がありません)と、画像をダウンロードして画面に表示するネットワーク ロジックの両方により、負荷の高い処理を行います。
たとえば、Instacart から Coil を使用して画像を読み込むには、Gradle ファイルにライブラリを追加し、AsyncImage
を使用して URL から画像を読み込みます。
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Coil
Kotlin コルーチン(Instacart)を基盤とする画像読み込みライブラリ。
Glide
滑らかなスクロールを重視した、Android 向けの高速かつ効率的な画像読み込みライブラリ(Google)。
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- Compose のリソース
- Compose のユーザー補助
- Compose のグラフィック