Chip
元件是精簡的互動式 UI 元素。這代表的是
標記或標記等實體,通常還會包含圖示和標籤。可以
可勾選、可關閉或可點選。
以下是四種類型的方塊及適用位置:
- 輔助:引導使用者完成工作。通常顯示為暫時 UI 元素來回應使用者輸入內容。
- 篩選器:讓使用者透過一組選項修正內容。他們可以 並選擇是否含有勾號圖示
- 輸入內容:代表使用者提供的資訊,例如 或前往 Google 試算表選單可包含圖示和文字,並提供「X」以便移除
- 建議:根據使用者的近期記錄提供建議 活動或輸入內容通常會顯示在輸入欄位下方,以提示使用者 動作。
API 介面
共有四種可組合元件,會對應至四種類型的方塊。 以下各節將詳細概述這些可組合項及其差異。 然而,兩者共用下列參數:
label
:方塊上顯示的字串。icon
:方塊開頭顯示的圖示。部分 特定可組合函式有獨立的leadingIcon
和trailingIcon
參數。onClick
:使用者按下方塊時呼叫的 lambda。
輔助方塊
AssistChip
可組合函式可讓您輕鬆建立
輔助方塊,可引導使用者往特定方向前進。一項差異
功能是 leadingIcon
參數,可讓您在左側顯示圖示
外觀。以下範例說明如何實作:
@Composable fun AssistChipExample() { AssistChip( onClick = { Log.d("Assist chip", "hello world") }, label = { Text("Assist chip") }, leadingIcon = { Icon( Icons.Filled.Settings, contentDescription = "Localized description", Modifier.size(AssistChipDefaults.IconSize) ) } ) }
實作內容如下所示。
篩選器方塊
FilterChip
可組合函式需要您追蹤方塊是否具有
已選取以下範例說明如何顯示
使用者選取方塊時才會顯示已勾選圖示:
@Composable fun FilterChipExample() { var selected by remember { mutableStateOf(false) } FilterChip( onClick = { selected = !selected }, label = { Text("Filter chip") }, selected = selected, leadingIcon = if (selected) { { Icon( imageVector = Icons.Filled.Done, contentDescription = "Done icon", modifier = Modifier.size(FilterChipDefaults.IconSize) ) } } else { null }, ) }
未選取該實作項目會如下所示:
選取後,如下所示:
輸入方塊
您可以使用 InputChip
可組合函式建立結果方塊
互動。例如,在電子郵件用戶端中,當使用者輸入
電子郵件,輸入方塊可能代表使用者輸入地址的使用者
轉換成「to:」] 欄位。
以下實作示範了 系統就會選取狀態使用者按下方塊後關閉方塊。
@Composable fun InputChipExample( text: String, onDismiss: () -> Unit, ) { var enabled by remember { mutableStateOf(true) } if (!enabled) return InputChip( onClick = { onDismiss() enabled = !enabled }, label = { Text(text) }, selected = enabled, avatar = { Icon( Icons.Filled.Person, contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, trailingIcon = { Icon( Icons.Default.Close, contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, ) }
實作內容如下所示。
建議方塊
SuggestionChip
可組合項是所列可組合項最基本的
,瞭解 API 定義和常見用途。建議
方塊會顯示動態產生的提示舉例來說,在 AI 即時通訊應用程式中
使用建議方塊,顯示最新可能的回覆
撰寫新的電子郵件訊息
請考慮採用以下 SuggestionChip
實作:
@Composable fun SuggestionChipExample() { SuggestionChip( onClick = { Log.d("Suggestion chip", "hello world") }, label = { Text("Suggestion chip") } ) }
實作內容如下所示:
,瞭解如何調查及移除這項存取權。進階方塊
本文件中的所有範例均使用一般的 外觀。如果你想使用具有較高外觀的方塊,請使用 以下三個可組合元件: