Skip to content

Commit d8868df

Browse files
pekingmeleticiarossi
authored andcommitted
Fixed popup menu on action bar.
* Made sure light/dark theme always shows popup menu in corresponding theme. * Increased contrast of text in popup menu in dark theme. PiperOrigin-RevId: 278397458 (cherry picked from commit 7bcd5f6)
1 parent 6df6a92 commit d8868df

File tree

3 files changed

+26
-19
lines changed

3 files changed

+26
-19
lines changed

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,6 @@
118118
<item name="android:textColorSecondary">@color/material_on_primary_emphasis_medium</item>
119119
<item name="actionMenuTextColor">?attr/colorOnPrimary</item>
120120
<item name="colorControlNormal">?attr/colorOnPrimary</item>
121-
<!-- Counteracts the effect of setting textColorPrimary for popup menus. -->
122-
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
123121
<!-- Used to tint the ActionMode background and preserve the underline. -->
124122
<item name="android:colorBackground">?attr/colorPrimary</item>
125123
</style>
@@ -129,8 +127,6 @@
129127
<item name="android:textColorSecondary">@color/material_on_surface_emphasis_medium</item>
130128
<item name="actionMenuTextColor">@color/material_on_surface_emphasis_medium</item>
131129
<item name="colorControlNormal">@color/material_on_surface_emphasis_medium</item>
132-
<!-- Counteracts the effect of setting textColorPrimary for popup menus. -->
133-
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
134130
<!-- Used to tint the ActionMode background and preserve the underline. -->
135131
<item name="android:colorBackground">?attr/colorSurface</item>
136132
</style>

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

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,19 @@
3030
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
3131
<item name="colorError">@color/design_dark_default_color_error</item>
3232

33-
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
3433
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
3534

35+
<!-- Action bar -->
36+
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
37+
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
38+
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
39+
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
40+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
41+
3642
<!-- Widget styles -->
3743
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
3844
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
3945
</item>
40-
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
41-
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
42-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
4346
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
4447
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
4548
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
@@ -87,15 +90,18 @@
8790
<item name="android:colorBackground">@color/design_default_color_background</item>
8891
<item name="colorError">@color/design_default_color_error</item>
8992

90-
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
9193
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
9294

95+
<!-- Action bar -->
96+
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
97+
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
98+
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
99+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
100+
93101
<!-- Widget styles -->
94102
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
95103
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
96104
</item>
97-
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
98-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
99105
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
100106
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
101107
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,19 @@
3030
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
3131
<item name="colorError">@color/design_dark_default_color_error</item>
3232

33-
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
3433
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
3534

35+
<!-- Action bar -->
36+
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
37+
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
38+
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
39+
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
40+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
41+
3642
<!-- Widget styles -->
3743
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
3844
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
3945
</item>
40-
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
41-
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
42-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
4346
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
4447
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
4548
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
@@ -94,15 +97,18 @@
9497
<item name="android:colorBackground">@color/design_default_color_background</item>
9598
<item name="colorError">@color/design_default_color_error</item>
9699

97-
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
98100
<item name="minTouchTargetSize">@dimen/mtrl_min_touch_target_size</item>
99101

102+
<!-- Action bar -->
103+
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
104+
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
105+
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
106+
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
107+
100108
<!-- Widget styles -->
101109
<item name="android:contextPopupMenuStyle" tools:targetApi="n">
102110
@style/Widget.MaterialComponents.PopupMenu.ContextMenu
103111
</item>
104-
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
105-
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
106112
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
107113
<item name="badgeStyle">@style/Widget.MaterialComponents.Badge</item>
108114
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
@@ -159,7 +165,6 @@
159165
<style name="Base.Theme.MaterialComponents.Light" parent="Base.V14.Theme.MaterialComponents.Light"/>
160166

161167
<style name="Base.Theme.MaterialComponents.Light.DarkActionBar" parent="Base.Theme.MaterialComponents.Light">
162-
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
163168
<item name="actionBarWidgetTheme">@null</item>
164169
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.Dark.ActionBar</item>
165170

0 commit comments

Comments
 (0)