Skip to content

Commit a23557b

Browse files
dsn5ftleticiarossi
authored andcommitted
Add popupMenuBackground theme attribute and combine light and dark Menu styles
into one style that references the new attribute PiperOrigin-RevId: 277340044 (cherry picked from commit aa7d833)
1 parent d10a014 commit a23557b

10 files changed

Lines changed: 69 additions & 37 deletions

File tree

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535

3636
<!-- Widget styles -->
3737
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
38-
@style/Widget.MaterialComponents.PopupMenu.ContextMenu.Dark
38+
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
3939
</item>
4040
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
4141
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
42-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow.Dark</item>
42+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
4343
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
4444
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
4545
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
@@ -52,13 +52,13 @@
5252
<item name="chipStandaloneStyle">@style/Widget.MaterialComponents.Chip.Entry</item>
5353
<item name="extendedFloatingActionButtonStyle">@style/Widget.MaterialComponents.ExtendedFloatingActionButton.Icon</item>
5454
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
55-
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow.Dark</item>
55+
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
5656
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button</item>
5757
<item name="materialButtonOutlinedStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
5858
<item name="materialButtonToggleGroupStyle">@style/Widget.MaterialComponents.MaterialButtonToggleGroup</item>
5959
<item name="materialCardViewStyle">@style/Widget.MaterialComponents.CardView</item>
6060
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
61-
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Dark</item>
61+
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
6262
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
6363
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
6464
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<item name="colorOnPrimarySurface">?attr/colorOnSurface</item>
4747

4848
<item name="scrimBackground">@color/mtrl_scrim_color</item>
49+
<item name="popupMenuBackground">@drawable/mtrl_popupmenu_background_dark</item>
4950

5051
<!-- Type styles -->
5152
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
@@ -94,6 +95,7 @@
9495
<item name="colorOnPrimarySurface">?attr/colorOnPrimary</item>
9596

9697
<item name="scrimBackground">@color/mtrl_scrim_color</item>
98+
<item name="popupMenuBackground">@drawable/mtrl_popupmenu_background</item>
9799

98100
<!-- Type styles -->
99101
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>

lib/java/com/google/android/material/menu/res/drawable-v21/mtrl_popupmenu_background.xml renamed to lib/java/com/google/android/material/menu/res/drawable/mtrl_popupmenu_background.xml

File renamed without changes.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright 2019 The Android Open Source Project
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<shape xmlns:android="http://schemas.android.com/apk/res/android">
18+
<solid android:color="?attr/colorSurface"/>
19+
20+
<corners
21+
android:bottomLeftRadius="4dp"
22+
android:bottomRightRadius="4dp"
23+
android:topLeftRadius="4dp"
24+
android:topRightRadius="4dp"/>
25+
26+
<padding
27+
android:bottom="8dp"
28+
android:top="8dp"/>
29+
30+
</shape>

lib/java/com/google/android/material/menu/res/values-v21/styles.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@
1818
<resources>
1919

2020
<style name="Widget.MaterialComponents.PopupMenu.Overflow" parent="Base.Widget.MaterialComponents.PopupMenu.Overflow">
21-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
21+
<item name="android:popupBackground">?attr/popupMenuBackground</item>
2222
<item name="android:popupElevation">8dp</item>
2323
</style>
2424

2525
<style name="Widget.MaterialComponents.PopupMenu" parent="Base.Widget.MaterialComponents.PopupMenu">
26-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
26+
<item name="android:popupBackground">?attr/popupMenuBackground</item>
2727
<item name="android:popupElevation">8dp</item>
2828
</style>
2929

3030
<style name="Base.Widget.MaterialComponents.PopupMenu.ListPopupWindow" parent="Widget.AppCompat.ListPopupWindow">
31-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
31+
<item name="android:popupBackground">?attr/popupMenuBackground</item>
3232
<item name="android:popupElevation">8dp</item>
3333
<item name="android:dropDownVerticalOffset">1dp</item>
3434
</style>

lib/java/com/google/android/material/menu/res/values-v23/styles.xml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,14 @@
1717

1818
<resources>
1919

20-
<style name="Widget.MaterialComponents.PopupMenu.Overflow.Dark">
21-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background_dark</item>
22-
</style>
23-
24-
<style name="Widget.MaterialComponents.PopupMenu.Dark">
25-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background_dark</item>
26-
</style>
27-
2820
<style name="Widget.MaterialComponents.PopupMenu.ListPopupWindow" parent="Base.Widget.MaterialComponents.PopupMenu.ListPopupWindow">
29-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
21+
<item name="android:popupBackground">?attr/popupMenuBackground</item>
3022
<item name="android:popupElevation">8dp</item>
3123
</style>
3224

33-
<style name="Widget.MaterialComponents.PopupMenu.ListPopupWindow.Dark">
34-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background_dark</item>
35-
</style>
36-
3725
<style name="Widget.MaterialComponents.PopupMenu.ContextMenu" parent="Base.Widget.MaterialComponents.PopupMenu.ContextMenu">
38-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
26+
<item name="android:popupBackground">?attr/popupMenuBackground</item>
3927
<item name="android:popupElevation">8dp</item>
4028
</style>
4129

42-
<style name="Widget.MaterialComponents.PopupMenu.ContextMenu.Dark">
43-
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background_dark</item>
44-
</style>
45-
4630
</resources>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
~ Copyright (C) 2019 The Android Open Source Project
4+
~
5+
~ Licensed under the Apache License, Version 2.0 (the "License");
6+
~ you may not use this file except in compliance with the License.
7+
~ You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
-->
17+
<resources>
18+
19+
<!-- Background for PopupMenus. -->
20+
<attr name="popupMenuBackground" format="reference" />
21+
</resources>

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,14 @@
3131

3232
<style name="Widget.MaterialComponents.PopupMenu" parent="Base.Widget.MaterialComponents.PopupMenu"/>
3333

34-
<style name="Widget.MaterialComponents.PopupMenu.Dark"/>
35-
36-
<style name="Widget.MaterialComponents.PopupMenu.Overflow.Dark"/>
37-
3834
<!-- List Popup Window Menus -->
3935
<style name="Base.Widget.MaterialComponents.PopupMenu.ListPopupWindow" parent="Widget.AppCompat.ListPopupWindow"/>
4036

4137
<style name="Widget.MaterialComponents.PopupMenu.ListPopupWindow" parent="Base.Widget.MaterialComponents.PopupMenu.ListPopupWindow"/>
4238

43-
<style name="Widget.MaterialComponents.PopupMenu.ListPopupWindow.Dark"/>
44-
4539
<!-- Context Menus -->
4640
<style name="Base.Widget.MaterialComponents.PopupMenu.ContextMenu" parent="Widget.AppCompat.PopupMenu"/>
4741

4842
<style name="Widget.MaterialComponents.PopupMenu.ContextMenu" parent="Base.Widget.MaterialComponents.PopupMenu.ContextMenu"/>
4943

50-
<style name="Widget.MaterialComponents.PopupMenu.ContextMenu.Dark"/>
51-
5244
</resources>

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535

3636
<!-- Widget styles -->
3737
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
38-
@style/Widget.MaterialComponents.PopupMenu.ContextMenu.Dark
38+
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
3939
</item>
4040
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
4141
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
42-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow.Dark</item>
42+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
4343
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
4444
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
4545
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
@@ -51,13 +51,13 @@
5151
<item name="chipStandaloneStyle">@style/Widget.MaterialComponents.Chip.Entry</item>
5252
<item name="extendedFloatingActionButtonStyle">@style/Widget.MaterialComponents.ExtendedFloatingActionButton.Icon</item>
5353
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
54-
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow.Dark</item>
54+
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
5555
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button</item>
5656
<item name="materialButtonOutlinedStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
5757
<item name="materialButtonToggleGroupStyle">@style/Widget.MaterialComponents.MaterialButtonToggleGroup</item>
5858
<item name="materialCardViewStyle">@style/Widget.MaterialComponents.CardView</item>
5959
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
60-
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Dark</item>
60+
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
6161
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
6262
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
6363
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<item name="colorOnPrimarySurface">?attr/colorOnSurface</item>
4747

4848
<item name="scrimBackground">@color/mtrl_scrim_color</item>
49+
<item name="popupMenuBackground">@drawable/mtrl_popupmenu_background_dark</item>
4950

5051
<!-- Type styles -->
5152
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
@@ -94,6 +95,7 @@
9495
<item name="colorOnPrimarySurface">?attr/colorOnPrimary</item>
9596

9697
<item name="scrimBackground">@color/mtrl_scrim_color</item>
98+
<item name="popupMenuBackground">@drawable/mtrl_popupmenu_background</item>
9799

98100
<!-- Type styles -->
99101
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
@@ -142,6 +144,7 @@
142144
<item name="colorOnPrimarySurface">?attr/colorOnPrimary</item>
143145

144146
<item name="scrimBackground">@color/mtrl_scrim_color</item>
147+
<item name="popupMenuBackground">@drawable/mtrl_popupmenu_background</item>
145148

146149
<!-- Type styles -->
147150
<item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>

0 commit comments

Comments
 (0)