更改暴露下拉菜单的背景颜色

Posted

技术标签:

【中文标题】更改暴露下拉菜单的背景颜色【英文标题】:Change the background color of exposed dropdown menu 【发布时间】:2020-09-03 10:05:14 【问题描述】:

我认为 android 开发人员在开玩笑。首先,他们从 Material Design 中移除了真正的微调器,其次,不知何故无法设计样式。看看这张图片。我看起来真的很好几乎!我没有找到改变下拉列表背景颜色的可能性。我可以为列表中的每个项目设置样式,但列表顶部和底部的“圆角区域”仍为白色。

有人知道如何只更改列表的背景颜色吗?

确实有办法改变它(取自here),通过应用:

 <style name="AppTheme.ExposedDropdownMenu" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
    <item name="materialThemeOverlay">@style/AppTheme.ExposedDropdownMenu.MaterialThemeOverlay</item>
 </style>


 <style name="AppTheme.ExposedDropdownMenu.MaterialThemeOverlay" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- background color of dropdown (popup) items -->
    <item name="colorSurface">#444444</item>
 </style>

但这会改变 EditText 的填充、颜色和填充。它还完全删除了我无法恢复的菜单的高度。

只改变这个菜单的背景颜色不会这么难吧?!为什么这个 API 如此混乱。

后续问题:任何人都知道一种使 TextView 复合可绘制圆形(在 EditText 内)的方法吗?

【问题讨论】:

您找到解决方案了吗?我正在寻找这个! 您好,您发布的链接按预期工作。只需照原样复制粘贴所有代码!并根据您的需要更改值!如果您按照文章进行操作,我相信您会找到解决方案。粘贴所有代码而不是一半! 为了添加高程弹出添加这个:&lt;item name="android:popupElevation"&gt;8dp&lt;/item&gt;里面:&lt;style name="AppTheme.ExposedDropdownMenu.MaterialThemeOverlay" parent="Theme.MaterialComponents.DayNight.DarkActionBar"&gt; 可以分享资源吗? 【参考方案1】:
<style name="changeBackgroundColor"  parent="Widget.MaterialComponents.TextInputLayout.Outline   dBox.Dense">
<item name="colorSurface">@color/yourColor</item>
</style>

然后,将此主题包含在 TextInputLayout 内的 .xml 布局中。即

android:theme="@style/changeBackgroundColor" 

【讨论】:

以上是关于更改暴露下拉菜单的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap:更改背景颜色下拉菜单

使用 Google 表格下拉菜单更改单元格背景颜色而不是文本

如何更改操作栏中下拉菜单的背景颜色

更改 actionBar 下拉背景颜色

Bootstrap 3下拉菜单在子菜单焦点上更改背景

如何更改下拉菜单按钮的颜色