如何设置暴露的下拉弹出窗口的背景颜色?

How to set background color of exposed dropdown PopupWindow?

我正在使用 Material Design 组件的公开下拉菜单。它是 TextInputLayout 中的一个 AutoCompleteTextView,基本上就像一个微调器。你给它一个适配器,它会在点击时弹出一个 PopupWindow。

PopupWindow 背景为深灰色。我想把它改成白色。我已经通过主题化尝试过但无济于事:

<style name="PopupWindow">
    <item name="popupMenuBackground">@color/white</item>
    <item name="android:popupBackground">@color/white</item>
    <item name="android:windowBackground">@color/white</item>
</style>

我也试过在 AutoCompleteTextView 上调用它:

autoCompleteTextView.setDropDownBackgroundResource(R.color.white);

这确实奏效了。但是,如果我在键盘打开时打开下拉菜单,背景又会变成深灰色。只有当键盘被关闭时,背景才是白色的。

知道如何解决这个问题吗?当然必须有一个主题属性,我可以覆盖它以使 PopupWindow 背景变白吗?

通过这个 post 找到了解决方案:https://medium.com/@rmirabelle/there-is-no-material-design-spinner-for-android-3261b7c77da8

只需覆盖主题中的 colorSurface:

<item name="colorSurface">@color/white</item>