更改 AppCompat SearchView 建议背景

Change AppCompat SearchView suggestion background

我想在我的主题样式中设置 SearchView 下拉建议的背景。我不想通过布局文件执行此操作,因为我希望 OS 自己处理选择背景。以编程方式设置后台删除列表选择器,我想避免这种情况。

这就是我现在拥有的。我希望行的背景为白色。我必须在 styles.xml 中更改什么才能实现这一目标?

PS: 我自己删除了建议的文字,所以它看起来像一个大黑块。

SearchView 的弹出窗口基于标准样式 AutoCompleteTextView,因此您可以在自定义主题中更改此小部件的标准样式以获得背景变化。因此,在自定义主题中覆盖 autoCompleteTextViewStyle 属性以指向一种新样式,您必须在其中覆盖具有所需背景的 popupBackground

您只需使用

即可完成此操作
int autoCompleteTextViewID = getResources().getIdentifier("search_src_text", "id", getPackageName());
mSearchAutoCompleteTextView = mSearchView.findViewById(autoCompleteTextViewID);
mSearchAutoCompleteTextView.setDropDownBackgroundResource(R.color.white); // Setting background color of the suggestion drop down list
searchView.setBackgroundColor(Color.argb( 164, 200, 57, 1));

或者:

searchView.setBackgroundColor(Color.rgb(116,0,0));

将此插入:

public boolean onCreateOptionsMenu(Menu menu)