【问题标题】:Change AppCompat SearchView suggestion background更改 AppCompat SearchView 建议背景
【发布时间】:2015-02-22 19:10:28
【问题描述】:

我想在我的 Theme 样式中设置 SearchView 的下拉建议的背景。我不想通过布局文件来做到这一点,因为我希望操作系统自己处理选择背景。以编程方式设置后台删除列表选择器,我想避免这种情况。

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

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

【问题讨论】:

  • 尝试在您的自定义主题中为 AutoCompletTextView 小部件设置新样式,并在该样式中更改背景(popupBackground 是属性)。
  • @Luksprog 就是这样,谢谢。我找不到任何指针,我必须使用该特定属性设置 AutoCompleteTextView 样式。 It did cause me to find a bug in Android。如果你想添加这个作为答案,我会接受它

标签: android android-actionbar android-widget searchview


【解决方案1】:

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

【讨论】:

  • 你能告诉我如何更改 listItem 的textColor 吗?我应该修改ListViewSelector 吗?
  • 你说的我不懂请用编码的形式说清楚
  • 这应该是最佳答案。
  • @Luksprog,您应该提供示例代码以使答案更清晰
【解决方案2】:

你可以简单地使用

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

【讨论】:

    【解决方案3】:
    searchView.setBackgroundColor(Color.argb( 164, 200, 57, 1));
    

    或者:

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

    将其插入:

    public boolean onCreateOptionsMenu(Menu menu)
    

    【讨论】:

      猜你喜欢
      • 2012-04-24
      • 2016-01-10
      • 2014-11-22
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      相关资源
      最近更新 更多