Skip to content

Commit 14578ed

Browse files
raajkumarsleticiarossi
authored andcommittedMay 10, 2022
[Button] Updated M3 button style to add filled tonal icon button style. Updated catalog to showcase the same.
PiperOrigin-RevId: 447784383
1 parent d3ab6d7 commit 14578ed

File tree

9 files changed

+55
-4
lines changed

9 files changed

+55
-4
lines changed
 

‎catalog/java/io/material/catalog/button/res/layout/cat_buttons_fragment.xml

+19
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,25 @@
177177
android:text="@string/cat_icon_btn_filled_style"
178178
android:textSize="12sp"/>
179179
</LinearLayout>
180+
181+
<LinearLayout
182+
android:layout_width="wrap_content"
183+
android:layout_height="wrap_content"
184+
android:gravity="center_horizontal"
185+
android:orientation="vertical">
186+
<Button
187+
style="?attr/materialIconButtonFilledTonalStyle"
188+
android:layout_width="wrap_content"
189+
android:layout_height="wrap_content"
190+
android:contentDescription="@string/cat_button_icon_btn_text"
191+
app:icon="@drawable/ic_dialogs_24px"/>
192+
<TextView
193+
android:layout_width="wrap_content"
194+
android:layout_height="wrap_content"
195+
android:paddingTop="4dp"
196+
android:text="@string/cat_icon_btn_filled_tonal_style"
197+
android:textSize="12sp"/>
198+
</LinearLayout>
180199
</LinearLayout>
181200

182201
<com.google.android.material.switchmaterial.SwitchMaterial

‎catalog/java/io/material/catalog/button/res/values/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
<string name="cat_outlined_icon_btn_text">Icon only buttons</string>
4040
<string name="cat_icon_btn_default_style">Standard</string>
4141
<string name="cat_icon_btn_filled_style">Filled</string>
42+
<string name="cat_icon_btn_filled_tonal_style">Tonal</string>
4243
<string name="cat_button_clicked">Button clicked</string>
4344
<string name="cat_snackbar_action_button_text">Done</string>
4445

‎docs/components/Button.md

+22-4
Original file line numberDiff line numberDiff line change
@@ -889,12 +889,30 @@ In the layout:
889889
/>
890890
```
891891

892+
#### Filled Tonal Icon button
893+
894+
The following example shows a tonal icon button.
895+
896+
!["Filled tonal icon button example for Android over a white background."](assets/buttons/filled-tonal-icon-button.png)
897+
898+
In the layout:
899+
900+
```xml
901+
<Button
902+
style="?attr/materialIconButtonFilledTonalStyle"
903+
android:id="@+id/iconButton"
904+
android:layout_width="wrap_content"
905+
android:layout_height="wrap_content"
906+
/>
907+
```
908+
892909
#### Styles & Theme attributes
893910

894-
Element | Style | Theme Attribute
895-
---------------------- | ------------------------------------------- | ---------------
896-
**Default style** | `Widget.Material3.Button.IconButton` | `?attr/materialIconButtonStyle`
897-
**Filled Icon Button** | `Widget.Material3.Button.IconButton.Filled` | `?attr/materialIconButtonFilledStyle`
911+
Element | Style | Theme Attribute
912+
---------------------------- | ------------------------------------------------- | ---------------
913+
**Default style** | `Widget.Material3.Button.IconButton` | `?attr/materialIconButtonStyle`
914+
**Filled Icon Button** | `Widget.Material3.Button.IconButton.Filled` | `?attr/materialIconButtonFilledStyle`
915+
**Filled Tonal Icon Button** | `Widget.Material3.Button.IconButton.Filled.Tonal` | `?attr/materialIconButtonFilledTonalStyle`
898916

899917
See the full list of
900918
[styles](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/values/styles.xml)
Loading

‎lib/java/com/google/android/material/button/res-public/values/public.xml

+2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<public name="materialButtonStyle" type="attr"/>
2929
<public name="materialIconButtonStyle" type="attr"/>
3030
<public name="materialIconButtonFilledStyle" type="attr"/>
31+
<public name="materialIconButtonFilledTonalStyle" type="attr"/>
3132
<public name="materialButtonOutlinedStyle" type="attr"/>
3233
<public name="materialButtonToggleGroupStyle" type="attr"/>
3334
<public name="Widget.MaterialComponents.Button" type="style"/>
@@ -53,6 +54,7 @@
5354
<public name="Widget.Material3.Button.ElevatedButton.Icon" type="style"/>
5455
<public name="Widget.Material3.Button.IconButton" type="style"/>
5556
<public name="Widget.Material3.Button.IconButton.Filled" type="style"/>
57+
<public name="Widget.Material3.Button.IconButton.Filled.Tonal" type="style"/>
5658
<public name="ShapeAppearanceOverlay.Material3.Button" type="style"/>
5759
<public name="ThemeOverlay.Material3.Button" type="style"/>
5860
<public name="ThemeOverlay.Material3.Button.ElevatedButton" type="style"/>

‎lib/java/com/google/android/material/button/res/values/attrs.xml

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
<attr name="materialIconButtonStyle" format="reference"/>
2424
<!-- Style to use for Filled Material Icon Only Buttons in this theme. -->
2525
<attr name="materialIconButtonFilledStyle" format="reference"/>
26+
<!-- Style to use for Filled Tonal Material Icon Only Buttons in this theme. -->
27+
<attr name="materialIconButtonFilledTonalStyle" format="reference"/>
2628
<!-- Style to use for Material Outlined Buttons in this theme. -->
2729
<attr name="materialButtonOutlinedStyle" format="reference"/>
2830
<!-- Style to use for MaterialButtonToggleGroups in this theme. -->

‎lib/java/com/google/android/material/button/res/values/styles.xml

+5
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,11 @@
280280
<item name="materialThemeOverlay">@style/ThemeOverlay.Material3.Button</item>
281281
</style>
282282

283+
<style name="Widget.Material3.Button.IconButton.Filled.Tonal">
284+
<item name="rippleColor">@color/m3_tonal_button_ripple_color_selector</item>
285+
<item name="materialThemeOverlay">@style/ThemeOverlay.Material3.Button.TonalButton</item>
286+
</style>
287+
283288
<!-- DEPRECATED -->
284289
<style name="ShapeAppearanceOverlay.Material3.Button" parent="">
285290
<item name="cornerSize">50%</item>

‎lib/java/com/google/android/material/dialog/res/values/themes_base.xml

+2
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
<item name="linearProgressIndicatorStyle">@style/Widget.Material3.LinearProgressIndicator</item>
107107
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
108108
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
109+
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
109110
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
110111
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
111112
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>
@@ -332,6 +333,7 @@
332333
<item name="linearProgressIndicatorStyle">@style/Widget.Material3.LinearProgressIndicator</item>
333334
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
334335
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
336+
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
335337
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
336338
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
337339
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>

‎lib/java/com/google/android/material/theme/res/values/themes_base.xml

+2
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
<item name="linearProgressIndicatorStyle">@style/Widget.Material3.LinearProgressIndicator</item>
121121
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
122122
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
123+
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
123124
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
124125
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
125126
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>
@@ -348,6 +349,7 @@
348349
<item name="linearProgressIndicatorStyle">@style/Widget.Material3.LinearProgressIndicator</item>
349350
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
350351
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
352+
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
351353
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
352354
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
353355
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>

0 commit comments

Comments
 (0)
Please sign in to comment.