iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1

在Material Design中提供不同樣式的Button,官方同時說明使用Button需根據操作的重要性選擇類型,當操作越重要時Button應該越具有強調性,因為Button可以傳達訊息,也影響著使用者採取的操作。

icon Button 在所有Button中是屬於 Low emphasis,主要幫助使用者只需輕點一下即可採取補充操作,icon Button可以分組在一起,也可以單獨。例如在工具欄中、收藏夾或書籤。

M3 兩種類型的 Icon button

https://ithelp.ithome.com.tw/upload/images/20220918/20144469D7lz0MmDwJ.png

  1. Standard icon button :預設情況下,圖示按鈕將沒有背景
  2. Contained icon button 可選擇性的填滿背景
    • including filled
    • filled tonal
    • outlined styles

從按鈕實作角度探討

下方表格是Style 、Theme Attribute
https://ithelp.ithome.com.tw/upload/images/20220918/20144469xinDjZTYbk.png

Standard icon button

<!--style設定-->
<Button
    style="@style/Widget.Material3.Button.IconButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:icon="@drawable/ic_add_24"/>

<!--Theme Attribute-->
<Button
    style="?attr/materialIconButtonStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:icon="@drawable/ic_add_24"/>

https://ithelp.ithome.com.tw/upload/images/20220918/20144469TPb3tSGjMa.png

Contained icon button

Filled icon Button

具有更高的視覺衝擊力,最適合高強調的行動,例如:關閉麥克風、相機,兩個切換。
https://ithelp.ithome.com.tw/upload/images/20220918/20144469MO6jMWpGtY.png

<!--style-->
<Button
        style="@style/Widget.Material3.Button.IconButton.Filled"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

<!--Theme Attribute-->
<Button
        style="?attr/materialIconButtonFilledStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

https://ithelp.ithome.com.tw/upload/images/20220918/20144469bP1YJWjPPL.png

Filled tonal icon Button

按鈕凸顯強度在filled button和 outlined icon buttons中間,例如:下方圖片進行影片會議中舉手等操作時,發現相較於Outlined button,點擊舉手時Filled tonal button更能凸顯,但如果是比打電話的 filled button就顯得不凸顯。
https://ithelp.ithome.com.tw/upload/images/20220918/20144469nIf7EQSJTv.png

<!--style-->
<Button
        style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

<!--Theme Attribute-->
<Button
        style="?attr/materialIconButtonFilledTonalStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

https://ithelp.ithome.com.tw/upload/images/20220918/20144469r3eDXsBtHj.png

Outlined Button

  • 按鈕強調性相較於Standard icon button和filled button、filled tonal button,medium-emphasis強調使用操作性較強。例如:下方圖片在左右兩邊使用Outlined button強調有更多內容可以點擊操作。
    https://ithelp.ithome.com.tw/upload/images/20220918/20144469kqZ2YSdg4T.png
<!--style-->
<Button
        style="@style/Widget.Material3.Button.IconButton.Outlined"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

<!--Theme Attribute-->
<Button
        style="?attr/materialIconButtonOutlinedStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:icon="@drawable/ic_add_24"/>

https://ithelp.ithome.com.tw/upload/images/20220918/20144469NBTyaQ44vF.png

icon 點擊切換狀態

iconButton.addOnButtonCheckedListener { iconButton, checkedId, isChecked ->
    // Respond to button selection
}

感謝您耐心看到這邊~~~/images/emoticon/emoticon35.gif
明天會介紹 Segmented Buttons

參考資料:
Material Design Components icon Button


上一篇
Day04 實戰登入頁面
下一篇
Day06 使用 M3 的 Segmented Buttons
系列文
Kotlin 實踐 Material Design 懶人包30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言