我想将文本颜色和提示文本颜色设置为android.support.v7.widget.SearchView中的文本,该文本不在ActionBar中而不在Menu选项中.我尝试了stackoverflow中提到的几种方法.但他们都没有工作.
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);
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码,但它在setTextColor行给出了Null指针异常.任何一种帮助都将受到赞赏.谢谢你提前.
我会通过xml布局文件做这种工作.这可以在res/layout文件夹中找到.
您需要执行类似以下操作:
将其添加到父主题.
<item name="android:editTextColor">@android:color/white</item>
Run Code Online (Sandbox Code Playgroud)
这应该改变输入的文本.
你也可以使用这样的东西:
<item name="android:textColorHint">@android:color/white</item>
Run Code Online (Sandbox Code Playgroud)
它将更改SearchView的提示文本.
希望这可以帮助 :)
我的问题还有一个解决方案。虽然像我的问题一样以编程方式更改文本颜色,但我给出的 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));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6896 次 |
| 最近记录: |