複数のアイテムタイプを含むリストを使用すると、テキスト、画像、インタラクティブな要素などの混合コンテンツ タイプを表示できます。
結果
バージョンの互換性
この実装では、プロジェクトの minSDK を API レベル 21 以上に設定する必要があります。
依存関係
複数のアイテムタイプを追加する
複数のタイプのアイテムを含むリストまたはグリッドをコンポーズする場合は、レイアウトのアイテムごとにコンテンツ タイプを指定できます。
@Composable fun ListWithMultipleItems(messages: List<Any>) { LazyColumn { items( messages.size, contentType = { it } ) { for (message in messages) when (message) { is MediaStore.Audio -> AudioMessage(message) is Text -> TextMessage(message) } } } } @Composable fun AudioMessage(message: MediaStore.Audio) { TODO("Not yet implemented.") } @Composable fun TextMessage(message: Text) { TODO("Not yet implemented.") } data class SampleMessage(val text: String, val content: Any)
コードに関する主なポイント
-
items()でcontentTypeを設定して、アイテムごとにコンテンツ タイプを指定します。 - 各コンテンツ タイプを対応するコンポーズ可能関数にマッピングします。たとえば、
Audioは別の場所で定義されたcontentTypeであり、AudioMessageコンポーズ可能関数にマッピングされます。 - Compose は、特定のコンテンツ タイプのアイテムごとにレンダリングされたコンポーズ可能関数を再利用します。
このガイドを含むコレクション
このガイドは、Android 開発の幅広い目標をカバーする、厳選されたクイック ガイド コレクションの一部です。
リストまたはグリッドを表示する
リストとグリッドを使用すると、アプリでコレクションを
視覚的に見やすく、ユーザーが簡単に利用できる形式で表示できます。
インタラクティブなコンポーネントを表示する
コンポーズ可能関数を使用すると、マテリアル デザイン デザイン システムに基づいて美しい UI コンポーネントを簡単に作成できます。
Compose の基本(動画コレクション)
この一連の動画では、さまざまな Compose API を紹介し、
利用可能な機能とその使用方法を簡単に説明します。
ご不明な点やフィードバックがある場合
よくある質問のページでクイック ガイドについて確認するか、お問い合わせください。