将文本颜色和提示文本颜色设置为SearchView中的文本
问题描述:
我想将文本颜色和提示文本颜色设置为android.support.v7.widget.SearchView中不在ActionBar中而不在菜单选项中的文本。我尝试了几种在stackoverflow中提到的方法。但他们都没有工作。将文本颜色和提示文本颜色设置为SearchView中的文本
int searchSrcTextId =getResources().getIdentifier("android:id/search_src_text", null, null);
EditText searchEditText = (EditText) searchView.findViewById(searchSrcTextId);
searchEditText.setTextColor(Color.WHITE);
searchEditText.setHintTextColor(Color.LTGRAY);
我尝试了上面的代码,但它是在setTextColor line.Any怎样的帮助给空指针异常将提前appreciated.Thanks。
答
我会通过xml布局文件来完成这种工作。这可以在res/layout文件夹中找到。
你需要做一些类似以下内容:
一下添加到父主题。
<item name="android:editTextColor">@android:color/white</item>
这应该改变输入的文本。
您也可以使用这样的事情:
<item name="android:textColorHint">@android:color/white</item>
它将更改搜索查看的提示文本。
希望这有助于:)
答
我有我的issue.While改变文字颜色多了一个解决方案以编程为在我的问题我已经给ID是错误的。我们应该编辑下面的代码android.support.v7.widget.SearchView。
EditText editText = ((EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text));
editText.setHintTextColor(getResources().getColor(R.color.white));
editText.setTextColor(getResources().getColor(R.color.white));
很多感谢您的最早回复。这对我有效。简单和短的解决方案。非常感谢:) –
我有一个疑问。这会改变我的项目中所有EditText或SearchView的颜色吗? –
由于我们将这些项目添加到主要父主题,它将更改应用程序中所有SearchView的文本颜色。 –