Skip to content

Commit fa56dd6

Browse files
leticiarossiimhappi
authored andcommitted
[Button] Add support for a secondary icon.
PiperOrigin-RevId: 859283876
1 parent f49517f commit fa56dd6

5 files changed

Lines changed: 465 additions & 85 deletions

File tree

docs/components/CommonButton.md

Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -356,13 +356,15 @@ Element | Attribute | Related method(s)
356356

357357
#### Icon attributes
358358

359-
Element | Attribute | Related method(s) | Default value
360-
----------------------------------------------- | ----------------- | --------------------------------------------------------- | -------------
361-
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
362-
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
363-
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
364-
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
365-
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
359+
Element | Attribute | Related method(s) | Default value
360+
----------------------------------------------- |----------------------------|---------------------------------------------------------------------------| -------------
361+
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
362+
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
363+
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
364+
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
365+
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
366+
**Secondary icon** | `app:secondaryIcon` | `setSecondaryIcon`<br/>`setSecondaryIconResource`<br/>`getSecondaryIcon` | `null`
367+
**Secondary icon gravity** | `app:secondaryIconGravity` | `setSecondaryIconGravity`<br/>`gettSecondaryIconGravity` | `end`
366368

367369
#### Styles
368370

@@ -405,13 +407,15 @@ Element | Attribute | Related method(s)
405407

406408
#### Icon attributes
407409

408-
Element | Attribute | Related method(s) | Default value
409-
----------------------------------------------- | ----------------- | --------------------------------------------------------- | -------------
410-
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
411-
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnPrimary` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/color/res/color/m3_button_foreground_color_selector.xml))
412-
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
413-
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
414-
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
410+
Element | Attribute | Related method(s) | Default value
411+
----------------------------------------------- |----------------------------|--------------------------------------------------------------------------| -------------
412+
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
413+
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnPrimary` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/color/res/color/m3_button_foreground_color_selector.xml))
414+
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
415+
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
416+
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
417+
**Secondary icon** | `app:secondaryIcon` | `setSecondaryIcon`<br/>`setSecondaryIconResource`<br/>`getSecondaryIcon` | `null`
418+
**Secondary icon gravity** | `app:secondaryIconGravity` | `setSecondaryIconGravity`<br/>`gettSecondaryIconGravity` | `end`
415419

416420
#### Styles
417421

@@ -456,13 +460,15 @@ Element | Attribute | Related method(s)
456460

457461
#### Icon attributes
458462

459-
Element | Attribute | Related method(s) | Default value
460-
----------------------------------------------- | ----------------- | --------------------------------------------------------- | -------------
461-
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
462-
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSecondaryContainer` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/color/res/color/m3_button_foreground_color_selector.xml))
463-
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
464-
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
465-
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
463+
Element | Attribute | Related method(s) | Default value
464+
----------------------------------------------- |----------------------------|--------------------------------------------------------------------------| -------------
465+
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
466+
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSecondaryContainer` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/color/res/color/m3_button_foreground_color_selector.xml))
467+
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
468+
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
469+
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
470+
**Secondary icon** | `app:secondaryIcon` | `setSecondaryIcon`<br/>`setSecondaryIconResource`<br/>`getSecondaryIcon` | `null`
471+
**Secondary icon gravity** | `app:secondaryIconGravity` | `setSecondaryIconGravity`<br/>`gettSecondaryIconGravity` | `end`
466472

467473
#### Styles
468474

@@ -505,13 +511,15 @@ Element | Attribute | Related method(s)
505511

506512
#### Icon attributes
507513

508-
Element | Attribute | Related method(s) | Default value
509-
----------------------------------------------- | ----------------- | --------------------------------------------------------- | -------------
510-
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
511-
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
512-
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
513-
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
514-
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
514+
Element | Attribute | Related method(s) | Default value
515+
----------------------------------------------- |----------------------------|--------------------------------------------------------------------------| -------------
516+
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
517+
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
518+
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
519+
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
520+
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
521+
**Secondary icon** | `app:secondaryIcon` | `setSecondaryIcon`<br/>`setSecondaryIconResource`<br/>`getSecondaryIcon` | `null`
522+
**Secondary icon gravity** | `app:secondaryIconGravity` | `setSecondaryIconGravity`<br/>`gettSecondaryIconGravity` | `end`
515523

516524
#### Styles
517525

@@ -554,13 +562,15 @@ Element | Attribute | Related method(s)
554562

555563
#### Icon attributes
556564

557-
Element | Attribute | Related method(s) | Default value
558-
----------------------------------------------- | ----------------- | --------------------------------------------------------- | -------------
559-
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
560-
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
561-
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
562-
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
563-
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
565+
Element | Attribute | Related method(s) | Default value
566+
----------------------------------------------- |----------------------------|--------------------------------------------------------------------------| -------------
567+
**Icon** | `app:icon` | `setIcon`<br/>`setIconResource`<br/>`getIcon` | `null`
568+
**Color** | `app:iconTint` | `setIconTint`<br/>`setIconTintResource`<br/>`getIconTint` | `?attr/colorOnSurface` (see all [states](https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/button/res/color/m3_text_button_foreground_color_selector.xml))
569+
**Size** | `app:iconSize` | `setIconSize`<br/>`getIconSize` | `wrap_content`
570+
**Gravity** (position relative to text label) | `app:iconGravity` | `setIconGravity`<br/>`getIconGravity` | `start`
571+
**Padding** (space between icon and text label) | `app:iconPadding` | `setIconPadding`<br/>`getIconPadding` | `8dp`
572+
**Secondary icon** | `app:secondaryIcon` | `setSecondaryIcon`<br/>`setSecondaryIconResource`<br/>`getSecondaryIcon` | `null`
573+
**Secondary icon gravity** | `app:secondaryIconGravity` | `setSecondaryIconGravity`<br/>`gettSecondaryIconGravity` | `end`
564574

565575
#### Styles
566576

0 commit comments

Comments
 (0)