这是我目前拥有的内容。我希望行的背景是白色的。我需要在我的styles.xml文件中更改什么才能实现这一点?
附注:我自己删除了建议框中的文本,所以它看起来像一个大的黑色块。
SearchView
具有基于标准样式AutoCompleteTextView
的弹出窗口,因此您可以在自定义主题中更改此小部件的标准样式以获得背景更改。因此,在自定义主题中重写autoCompleteTextViewStyle
属性,指向新样式,在其中必须使用所需背景覆盖popupBackground
。
我知道这是一个老问题,但这是对我有效的解决方案。
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <item name="autoCompleteTextViewStyle">@style/MyAutoCompleteTextView</item> <item name="android:dropDownItemStyle">@style/MyDropDownItemStyle</item> </style>
以下更改了浅色主题下建议下拉菜单的背景颜色。
<style name="MyAutoCompleteTextView" parent="Widget.AppCompat.Light.AutoCompleteTextView"><item name="android:popupBackground">@android:color/white</item></style>
以下更改了浅色主题下建议下拉菜单的文本颜色为黑色。
<style name="MyDropDownItemStyle" parent="Widget.AppCompat.DropDownItem.Spinner"><item name="android:textColor">@color/black</item></style>
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)