Skip to content

Commit ac4f111

Browse files
imhappipekingme
authored andcommitted
[Lists] Token integration
PiperOrigin-RevId: 864955412
1 parent 0046fde commit ac4f111

18 files changed

+236
-91
lines changed

docs/components/List.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -336,12 +336,12 @@ primary action will only be visible until the swipe state is reset or
336336

337337
#### ListItemCardView attributes
338338

339-
Element | Attribute | Related methods | Default value
340-
-------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | -------------
341-
**Color** | `app:cardBackgroundColor` | `setCardBackgroundColor`<br/>`getCardBackgroundColor` | `@color/transparent` (standard style)</br>`?attr/colorSurfaceBright` (segmented style) </br> `?attr/colorSecondaryContainer` (selected)
342-
**Shape** | `app:shapeAppearance` | `setShapeAppearanceModel`<br/>`getShapeAppearanceModel` | `?attr/listItemShapeAppearanceSingle` </br> `?attr/listItemShapeAppearanceFirst` </br> `?attr/listItemShapeAppearanceMiddle` </br> `?attr/listItemShapeAppearanceLast`
343-
**Ripple color** | `app:rippleColor` | `setRippleColor`<br/>`setRippleColorResource`<br/>`getRippleColor` | `?attr/colorOnSurface` at 10% opacity (8% when hovered)
344-
**Swipe enabled** | `app:swipeEnabled` | `setSwipeEnabled`<br/>`isSwipeEnabled` | `true`
339+
Element | Attribute | Related methods | Default value
340+
----------------- | ------------------------- | ------------------------------------------------------------------ | -------------
341+
**Color** | `app:cardBackgroundColor` | `setCardBackgroundColor`<br/>`getCardBackgroundColor` | `@color/transparent` (standard style)</br>`?attr/colorSurfaceBright` (segmented style) </br> `?attr/colorSecondaryContainer` (selected)
342+
**Shape** | `app:shapeAppearance` | `setShapeAppearanceModel`<br/>`getShapeAppearanceModel` | `?attr/listItemShapeAppearanceSingle` </br> `?attr/listItemShapeAppearanceFirst` </br> `?attr/listItemShapeAppearanceMiddle` </br> `?attr/listItemShapeAppearanceLast` </br> `?attr/listItemShapeAppearanceChecked` </br> `?attr/listItemShapeAppearancePressed` </br> `?attr/listItemShapeAppearanceHovered`
343+
**Ripple color** | `app:rippleColor` | `setRippleColor`<br/>`setRippleColorResource`<br/>`getRippleColor` | `?attr/colorOnSurface` at 10% opacity (8% when hovered)
344+
**Swipe enabled** | `app:swipeEnabled` | `setSwipeEnabled`<br/>`isSwipeEnabled` | `true`
345345

346346
#### ListItemRevealLayout attributes
347347

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

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -422,9 +422,12 @@
422422
<item name="shapeAppearanceCornerExtraExtraLarge">@style/ShapeAppearance.Material3.Corner.ExtraExtraLarge</item>
423423
<item name="listItemShapeAppearanceSingle">@style/ShapeAppearance.Material3.ListItem.Single</item>
424424
<item name="listItemShapeAppearanceFirst">@style/ShapeAppearance.Material3.ListItem.First</item>
425-
<item name="listItemShapeAppearanceMiddle">@style/ShapeAppearance.Material3.ListItem.Middle</item>
425+
<item name="listItemShapeAppearanceMiddle">@macro/m3_comp_list_list_item_container_expressive_shape</item>
426426
<item name="listItemShapeAppearanceLast">@style/ShapeAppearance.Material3.ListItem.Last</item>
427-
<item name="listItemShapeAppearanceChecked">@style/ShapeAppearance.Material3.ListItem.Checked</item>
427+
<item name="listItemShapeAppearanceChecked">@macro/m3_comp_list_list_item_selected_container_expressive_shape</item>
428+
<item name="listItemShapeAppearancePressed">@macro/m3_comp_list_list_item_pressed_container_expressive_shape</item>
429+
<item name="listItemShapeAppearanceFocused">@macro/m3_comp_list_list_item_focused_container_expressive_shape</item>
430+
<item name="listItemShapeAppearanceHovered">@macro/m3_comp_list_list_item_pressed_container_expressive_shape</item>
428431

429432
<!-- Deprecated shape styles. -->
430433
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.Material3.SmallComponent</item>
@@ -745,9 +748,12 @@
745748
<item name="shapeAppearanceCornerExtraExtraLarge">@style/ShapeAppearance.Material3.Corner.ExtraExtraLarge</item>
746749
<item name="listItemShapeAppearanceSingle">@style/ShapeAppearance.Material3.ListItem.Single</item>
747750
<item name="listItemShapeAppearanceFirst">@style/ShapeAppearance.Material3.ListItem.First</item>
748-
<item name="listItemShapeAppearanceMiddle">@style/ShapeAppearance.Material3.ListItem.Middle</item>
751+
<item name="listItemShapeAppearanceMiddle">@macro/m3_comp_list_list_item_container_expressive_shape</item>
749752
<item name="listItemShapeAppearanceLast">@style/ShapeAppearance.Material3.ListItem.Last</item>
750-
<item name="listItemShapeAppearanceChecked">@style/ShapeAppearance.Material3.ListItem.Checked</item>
753+
<item name="listItemShapeAppearanceChecked">@macro/m3_comp_list_list_item_selected_container_expressive_shape</item>
754+
<item name="listItemShapeAppearancePressed">@macro/m3_comp_list_list_item_pressed_container_expressive_shape</item>
755+
<item name="listItemShapeAppearanceFocused">@macro/m3_comp_list_list_item_focused_container_expressive_shape</item>
756+
<item name="listItemShapeAppearanceHovered">@macro/m3_comp_list_list_item_pressed_container_expressive_shape</item>
751757

752758
<!-- Deprecated shape styles. -->
753759
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.Material3.SmallComponent</item>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,8 @@
6161
<public name="listItemShapeAppearanceMiddle" type="attr"/>
6262
<public name="listItemShapeAppearanceLast" type="attr"/>
6363
<public name="listItemShapeAppearanceChecked" type="attr"/>
64+
<public name="listItemShapeAppearancePressed" type="attr"/>
65+
<public name="listItemShapeAppearanceHovered" type="attr"/>
66+
<public name="listItemShapeAppearanceFocused" type="attr"/>
67+
6468
</resources>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_background_color_selector.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
1818
<item android:state_checkable="true" android:state_checked="true"
19-
android:color="?attr/colorSecondaryContainer"/>
20-
<item app:state_swiped="true" android:color="?attr/colorSurface"/>
19+
android:color="@macro/m3_comp_list_list_item_selected_container_color"/>
20+
<item app:state_swiped="true" android:color="@macro/m3_comp_list_list_item_container_color"/>
2121
<item android:color="@android:color/transparent"/>
2222
</selector>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_label_text_color_selector.xml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,25 @@
1616
-->
1717

1818
<selector xmlns:android="http://schemas.android.com/apk/res/android">
19-
<!-- Disabled and selected state -->
20-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false" android:state_selected="true"/>
21-
<!-- Hovered and selected state -->
22-
<item android:color="?attr/colorOnSecondaryContainer" android:state_hovered="true" android:state_selected="true"/>
23-
<!-- Focused and selected state -->
24-
<item android:color="?attr/colorOnSecondaryContainer" android:state_focused="true" android:state_selected="true"/>
25-
<!-- Pressed and selected state -->
26-
<item android:color="?attr/colorOnSecondaryContainer" android:state_pressed="true" android:state_selected="true"/>
19+
<!-- Disabled and checked state -->
20+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_disabled_label_text_opacity" android:color="@macro/m3_comp_list_list_item_disabled_label_text_color" android:state_enabled="false" android:state_checked="true"/>
21+
<!-- Hovered and checked state -->
22+
<item android:color="@macro/m3_comp_list_list_item_selected_hover_label_text_color" android:state_hovered="true" android:state_checked="true"/>
23+
<!-- Focused and checked state -->
24+
<item android:color="@macro/m3_comp_list_list_item_selected_focus_label_text_color" android:state_focused="true" android:state_checked="true"/>
25+
<!-- Pressed and checked state -->
26+
<item android:color="@macro/m3_comp_list_list_item_selected_pressed_label_text_color" android:state_pressed="true" android:state_checked="true"/>
2727
<!-- Pressed state -->
28-
<item android:color="?attr/colorOnSurface" android:state_pressed="true"/>
28+
<item android:color="@macro/m3_comp_list_list_item_pressed_label_text_color" android:state_pressed="true"/>
2929
<!-- Focused state -->
30-
<item android:color="?attr/colorOnSurface" android:state_focused="true"/>
30+
<item android:color="@macro/m3_comp_list_list_item_focus_label_text_color" android:state_focused="true"/>
3131
<!-- Disabled state -->
32-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
32+
<item android:alpha="@dimen/m3_comp_list_list_item_disabled_label_text_opacity" android:color="@macro/m3_comp_list_list_item_disabled_label_text_color" android:state_enabled="false"/>
3333
<!-- Checked state -->
34-
<item android:color="?attr/colorOnSecondaryContainer" android:state_checked="true"/>
34+
<item android:color="@macro/m3_comp_list_list_item_selected_label_text_color" android:state_checked="true"/>
3535
<!-- Hovered state -->
36-
<item android:color="?attr/colorOnSurface" android:state_hovered="true"/>
36+
<item android:color="@macro/m3_comp_list_list_item_hover_label_text_color" android:state_hovered="true"/>
3737
<!-- Default, Enabled state -->
38-
<item android:color="?attr/colorOnSurface"/>
38+
<item android:color="@macro/m3_comp_list_list_item_label_text_color"/>
3939

4040
</selector>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_leading_icon_color_selector.xml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@
1515
limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<!-- Disabled and selected state -->
19-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSecondaryContainer" android:state_enabled="false" android:state_selected="true"/>
20-
<!-- Hovered and selected state -->
21-
<item android:color="?attr/colorOnSecondaryContainer" android:state_hovered="true" android:state_selected="true"/>
22-
<!-- Focused and selected state -->
23-
<item android:color="?attr/colorOnSecondaryContainer" android:state_focused="true" android:state_selected="true"/>
24-
<!-- Pressed and selected state -->
25-
<item android:color="?attr/colorOnSecondaryContainer" android:state_pressed="true" android:state_selected="true"/>
18+
<!-- Disabled and checked state -->
19+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_disabled_leading_icon_opacity" android:color="?attr/colorOnSecondaryContainer" android:state_enabled="false" android:state_checked="true"/>
20+
<!-- Hovered and checked state -->
21+
<item android:color="?attr/colorOnSecondaryContainer" android:state_hovered="true" android:state_checked="true"/>
22+
<!-- Focused and checked state -->
23+
<item android:color="?attr/colorOnSecondaryContainer" android:state_focused="true" android:state_checked="true"/>
24+
<!-- Pressed and checked state -->
25+
<item android:color="?attr/colorOnSecondaryContainer" android:state_pressed="true" android:state_checked="true"/>
2626
<!-- Pressed state -->
27-
<item android:color="?attr/colorOnSurfaceVariant" android:state_pressed="true"/>
27+
<item android:color="@macro/m3_comp_list_list_item_pressed_leading_icon_icon_color" android:state_pressed="true"/>
2828
<!-- Focused state -->
29-
<item android:color="?attr/colorOnSurfaceVariant" android:state_focused="true"/>
29+
<item android:color="@macro/m3_comp_list_list_item_focus_leading_icon_icon_color" android:state_focused="true"/>
3030
<!-- Disabled state -->
31-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
31+
<item android:alpha="@dimen/m3_comp_list_list_item_disabled_leading_icon_opacity" android:color="@macro/m3_comp_list_list_item_disabled_leading_icon_color" android:state_enabled="false"/>
3232
<!-- Checked state -->
33-
<item android:color="?attr/colorOnSecondaryContainer" android:state_checked="true"/>
33+
<item android:color="@macro/m3_comp_list_list_item_selected_leading_icon_color" android:state_checked="true"/>
3434
<!-- Hovered state -->
35-
<item android:color="?attr/colorOnSurfaceVariant" android:state_hovered="true"/>
35+
<item android:color="@macro/m3_comp_list_list_item_hover_leading_icon_icon_color" android:state_hovered="true"/>
3636
<!-- Default, Enabled state -->
37-
<item android:color="?attr/colorOnSurfaceVariant"/>
37+
<item android:color="@macro/m3_comp_list_list_item_leading_icon_color"/>
3838
</selector>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_overline_color_selector.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<!-- Disabled and selected state -->
19-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false" android:state_selected="true"/>
18+
<!-- Disabled and checked state -->
19+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_disabled_overline_opacity" android:color="?attr/colorOnSurface" android:state_enabled="false" android:checked="true"/>
2020
<!-- Disabled state -->
21-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
21+
<item android:alpha="@dimen/m3_comp_list_list_item_disabled_overline_opacity" android:color="@macro/m3_comp_list_list_item_disabled_overline_color" android:state_enabled="false"/>
2222
<!-- Checked state -->
23-
<item android:color="?attr/colorOnSurface" android:state_checked="true"/>
23+
<item android:color="@macro/m3_comp_list_list_item_selected_overline_color" android:state_checked="true"/>
2424
<!-- Default, Enabled state -->
25-
<item android:color="?attr/colorOnSurfaceVariant"/>
25+
<item android:color="@macro/m3_comp_list_list_item_overline_color"/>
2626

2727
</selector>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_ripple_color_selector.xml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
~ limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnSurface" android:state_pressed="true" android:state_checked="true"/>
19-
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnSurface" android:state_pressed="true"/>
20-
<item android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true" android:state_checked="true"/>
21-
<item android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true"/>
22-
<item android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnSurface" android:state_hovered="true" android:state_checked="true"/>
23-
<item android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
24-
<!-- TODO(b/439647658): No disabled state layer tokens currently exist, so we are using the pressed state layer value since they are the same value. Replace when tokens are available. -->
25-
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnSurface" android:state_enabled="false" android:state_checked="true"/>
26-
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
18+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_pressed_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_selected_pressed_state_layer_color" android:state_pressed="true" android:state_checked="true"/>
19+
<item android:alpha="@dimen/m3_comp_list_list_item_pressed_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_pressed_state_layer_color" android:state_pressed="true"/>
20+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_focus_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_selected_focus_state_layer_color" android:state_focused="true" android:state_checked="true"/>
21+
<item android:alpha="@dimen/m3_comp_list_list_item_focus_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_focus_state_layer_color" android:state_focused="true"/>
22+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_hover_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_selected_hover_state_layer_color" android:state_hovered="true" android:state_checked="true"/>
23+
<item android:alpha="@dimen/m3_comp_list_list_item_hover_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_hover_state_layer_color" android:state_hovered="true"/>
24+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_disabled_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_disabled_state_layer_color" android:state_enabled="false" android:state_checked="true"/>
25+
<item android:alpha="@dimen/m3_comp_list_list_item_disabled_state_layer_opacity" android:color="@macro/m3_comp_list_list_item_disabled_state_layer_color" android:state_enabled="false"/>
2726
<item android:alpha="@dimen/m3_ripple_default_alpha" android:color="?attr/colorOnSurface"/>
2827
</selector>

lib/java/com/google/android/material/listitem/res/color/m3_list_item_supporting_text_color_selector.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
1818
<!-- Disabled state -->
19-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
19+
<item android:alpha="@dimen/m3_comp_list_list_item_disabled_supporting_text_opacity" android:color="@macro/m3_comp_list_list_item_disabled_supporting_text_color" android:state_enabled="false"/>
20+
<!-- Disabled and Checked state -->
21+
<item android:alpha="@dimen/m3_comp_list_list_item_selected_disabled_supporting_text_opacity" android:color="?attr/colorOnSecondaryContainer" android:state_enabled="false" android:state_checked="true"/>
2022
<!-- Checked state -->
21-
<item android:color="?attr/colorOnSecondaryContainer" android:state_checked="true" />
23+
<item android:color="@macro/m3_comp_list_list_item_selected_supporting_text_color" android:state_checked="true" />
2224
<!-- Default, Enabled state -->
23-
<item android:color="?attr/colorOnSurfaceVariant"/>
25+
<item android:color="@macro/m3_comp_list_list_item_supporting_text_color"/>
2426

2527
</selector>

0 commit comments

Comments
 (0)