Skip to content

Commit 467a2c9

Browse files
raajkumarsdsn5ft
authored andcommittedMay 12, 2022
[Button] Updated M3 button style to add outlined icon button style. Updated catalog to showcase the same.
PiperOrigin-RevId: 448118229
1 parent 91a2550 commit 467a2c9

File tree

9 files changed

+51
-0
lines changed

9 files changed

+51
-0
lines changed
 

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

+19
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,25 @@
196196
android:text="@string/cat_icon_btn_filled_tonal_style"
197197
android:textSize="12sp"/>
198198
</LinearLayout>
199+
200+
<LinearLayout
201+
android:layout_width="wrap_content"
202+
android:layout_height="wrap_content"
203+
android:gravity="center_horizontal"
204+
android:orientation="vertical">
205+
<Button
206+
style="?attr/materialIconButtonOutlinedStyle"
207+
android:layout_width="wrap_content"
208+
android:layout_height="wrap_content"
209+
android:contentDescription="@string/cat_button_icon_btn_text"
210+
app:icon="@drawable/ic_dialogs_24px"/>
211+
<TextView
212+
android:layout_width="wrap_content"
213+
android:layout_height="wrap_content"
214+
android:paddingTop="4dp"
215+
android:text="@string/cat_icon_btn_outlined_style"
216+
android:textSize="12sp"/>
217+
</LinearLayout>
199218
</LinearLayout>
200219

201220
<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
@@ -40,6 +40,7 @@
4040
<string name="cat_icon_btn_default_style">Standard</string>
4141
<string name="cat_icon_btn_filled_style">Filled</string>
4242
<string name="cat_icon_btn_filled_tonal_style">Tonal</string>
43+
<string name="cat_icon_btn_outlined_style">Outlined</string>
4344
<string name="cat_button_clicked">Button clicked</string>
4445
<string name="cat_snackbar_action_button_text">Done</string>
4546

‎docs/components/Button.md

+18
Original file line numberDiff line numberDiff line change
@@ -906,13 +906,31 @@ In the layout:
906906
/>
907907
```
908908

909+
#### Outlined Icon button
910+
911+
The following example shows an outlined icon button.
912+
913+
!["Outlined icon button example for Android over a white background."](assets/buttons/outlined-icon-button.png)
914+
915+
In the layout:
916+
917+
```xml
918+
<Button
919+
style="?attr/materialIconButtonOutlinedStyle"
920+
android:id="@+id/iconButton"
921+
android:layout_width="wrap_content"
922+
android:layout_height="wrap_content"
923+
/>
924+
```
925+
909926
#### Styles & Theme attributes
910927

911928
Element | Style | Theme Attribute
912929
---------------------------- | ------------------------------------------------- | ---------------
913930
**Default style** | `Widget.Material3.Button.IconButton` | `?attr/materialIconButtonStyle`
914931
**Filled Icon Button** | `Widget.Material3.Button.IconButton.Filled` | `?attr/materialIconButtonFilledStyle`
915932
**Filled Tonal Icon Button** | `Widget.Material3.Button.IconButton.Filled.Tonal` | `?attr/materialIconButtonFilledTonalStyle`
933+
**Outlined Icon Button** | `Widget.Material3.Button.IconButton.Outlined` | `?attr/materialIconButtonOutlinedStyle`
916934

917935
See the full list of
918936
[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
@@ -29,6 +29,7 @@
2929
<public name="materialIconButtonStyle" type="attr"/>
3030
<public name="materialIconButtonFilledStyle" type="attr"/>
3131
<public name="materialIconButtonFilledTonalStyle" type="attr"/>
32+
<public name="materialIconButtonOutlinedStyle" type="attr"/>
3233
<public name="materialButtonOutlinedStyle" type="attr"/>
3334
<public name="materialButtonToggleGroupStyle" type="attr"/>
3435
<public name="Widget.MaterialComponents.Button" type="style"/>
@@ -55,6 +56,7 @@
5556
<public name="Widget.Material3.Button.IconButton" type="style"/>
5657
<public name="Widget.Material3.Button.IconButton.Filled" type="style"/>
5758
<public name="Widget.Material3.Button.IconButton.Filled.Tonal" type="style"/>
59+
<public name="Widget.Material3.Button.IconButton.Outlined" type="style"/>
5860
<public name="ShapeAppearanceOverlay.Material3.Button" type="style"/>
5961
<public name="ThemeOverlay.Material3.Button" type="style"/>
6062
<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
@@ -25,6 +25,8 @@
2525
<attr name="materialIconButtonFilledStyle" format="reference"/>
2626
<!-- Style to use for Filled Tonal Material Icon Only Buttons in this theme. -->
2727
<attr name="materialIconButtonFilledTonalStyle" format="reference"/>
28+
<!-- Style to use for Outlined Material Icon Only Buttons in this theme. -->
29+
<attr name="materialIconButtonOutlinedStyle" format="reference"/>
2830
<!-- Style to use for Material Outlined Buttons in this theme. -->
2931
<attr name="materialButtonOutlinedStyle" format="reference"/>
3032
<!-- 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
@@ -285,6 +285,11 @@
285285
<item name="materialThemeOverlay">@style/ThemeOverlay.Material3.Button.TonalButton</item>
286286
</style>
287287

288+
<style name="Widget.Material3.Button.IconButton.Outlined">
289+
<item name="strokeColor">@color/m3_button_outline_color_selector</item>
290+
<item name="strokeWidth">@dimen/m3_btn_stroke_size</item>
291+
</style>
292+
288293
<!-- DEPRECATED -->
289294
<style name="ShapeAppearanceOverlay.Material3.Button" parent="">
290295
<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
@@ -107,6 +107,7 @@
107107
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
108108
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
109109
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
110+
<item name="materialIconButtonOutlinedStyle">@style/Widget.Material3.Button.IconButton.Outlined</item>
110111
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
111112
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
112113
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>
@@ -334,6 +335,7 @@
334335
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
335336
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
336337
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
338+
<item name="materialIconButtonOutlinedStyle">@style/Widget.Material3.Button.IconButton.Outlined</item>
337339
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
338340
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
339341
<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
@@ -121,6 +121,7 @@
121121
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
122122
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
123123
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
124+
<item name="materialIconButtonOutlinedStyle">@style/Widget.Material3.Button.IconButton.Outlined</item>
124125
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
125126
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
126127
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>
@@ -350,6 +351,7 @@
350351
<item name="materialIconButtonStyle">@style/Widget.Material3.Button.IconButton</item>
351352
<item name="materialIconButtonFilledStyle">@style/Widget.Material3.Button.IconButton.Filled</item>
352353
<item name="materialIconButtonFilledTonalStyle">@style/Widget.Material3.Button.IconButton.Filled.Tonal</item>
354+
<item name="materialIconButtonOutlinedStyle">@style/Widget.Material3.Button.IconButton.Outlined</item>
353355
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
354356
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
355357
<item name="materialCardViewStyle">?attr/materialCardViewOutlinedStyle</item>

0 commit comments

Comments
 (0)
Please sign in to comment.