是否可以更改Android SearchView上的文字颜色?

SearchView元素没有任何用于更改文本颜色的属性。 默认的文字颜色是黑色的,不适用于我们的黑色背景。 有没有办法改变文本的颜色而不诉诸黑客?

我发现这个类似的问题与更改文字大小有关,但到目前为止,它没有任何答案:如何设置SearchView TextSize?


尝试这样:你可以从sdk得到textview的句柄,然后改变它,因为它们不公开地公开。

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
TextView textView = (TextView) searchView.findViewById(id);
textView.setTextColor(Color.WHITE);

<item name="android:editTextColor">@android:color/white</item>

到父主题,并应该改变输入的文字。 你也可以使用

<item name="android:textColorHint">@android:color/white</item>

更改SearchView的提示文本。 (请注意,您可以用您希望使用的任何适当值替换@android:color/white


这对我有用。

SearchView searchView = (SearchView) findViewById(R.id.search);
EditText searchEditText = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchEditText.setTextColor(getResources().getColor(R.color.white));
searchEditText.setHintTextColor(getResources().getColor(R.color.white));
链接地址: http://www.djcxy.com/p/92939.html

上一篇: Is it possible to change the textcolor on an Android SearchView?

下一篇: Changing the background drawable of the searchview widget