建立卡片做為容器

Card 可組合函式可做為 UI 的 Material Design 容器。資訊卡會呈現單一連貫的內容,例如:

  • 購物應用程式中的產品。
  • 新聞應用程式中的新聞報導。
  • 通訊應用程式中的訊息。

Card 著重於呈現單一內容,這點與其他容器不同。舉例來說,Scaffold 可為整個畫面提供一般結構。資訊卡是較大版面配置中的較小 UI 元素,而版面配置元件 (例如 ColumnRow) 則提供較簡單且更通用的 API。

本主題說明如何實作四種資訊卡:

版本相容性

這個實作方式需要將專案 minSDK 設為 API 級別 21 以上。

依附元件

建立基本資訊卡

Card 的運作方式與 Compose 中的其他容器非常相似。您可以透過呼叫其中的其他可組合項來宣告其內容。例如,請看以下簡易範例,瞭解 Card 如何包含對 Text 的呼叫:

建立填滿的資訊卡

關鍵在於使用 colors 屬性變更填充顏色:

結果

資訊卡會填入 Material Design 主題中的表面變化版本顏色。
圖 1. 填入資料的資訊卡範例。

建立升高的資訊卡

以下程式碼片段說明如何實作升級卡片。使用專屬的 ElevatedCard 可組合函式。

您可以使用 elevation 屬性控制標高外觀和產生的陰影。

結果

資訊卡會在應用程式背景上方顯示,並加上陰影。
圖 2. 提升的資訊卡範例。

建立有邊框的資訊卡

以下是外框卡片的範例。使用專屬的 OutlinedCard 可組合函式。

結果

資訊卡帶有細黑邊框。
圖 3. 邊框資訊卡範例。

重點

如要查看 Card 的 API 定義,請參閱參考資料。它定義了幾個參數,可用來自訂元件外觀和行為。

部分重要參數包括:

  • elevation:為元件加入陰影,讓元件看起來會高於背景。
  • colors:使用 CardColors 類型設定容器和所有子項的預設顏色。
  • enabled:如果您為此參數傳遞 false,資訊卡就會顯示為停用狀態,且不會回應使用者輸入內容。
  • onClick:通常 Card 不會接受點擊事件。因此,您要注意的主要超載是定義 onClick 參數的超載。如要讓 Card 的實作項目回應使用者的點擊,請使用這個超載。

資訊卡並未提供內建的捲動或關閉動作,但可整合至提供這些功能的可組合項。舉例來說,如要在資訊卡上實作滑動關閉功能,請將資訊卡與 SwipeToDismiss 可組合項整合。如要整合捲動功能,請使用捲動修飾符,例如 verticalScroll。詳情請參閱 Scroll 說明文件

包含此指南的集合

本指南是精選的快速指南系列之一,涵蓋更廣泛的 Android 開發目標:

瞭解可組合函式如何讓您輕鬆根據 Material Design 設計系統,建立美觀的 UI 元件。

有問題或意見回饋嗎?

請前往常見問題頁面,瞭解快速指南或與我們聯絡,分享您的想法。