android searchview光标,android – 更改searchView的光标颜色
时间: 2023-10-25 13:08:52 浏览: 165
要更改SearchView的光标颜色,可以使用以下方法:
1. 在styles.xml中添加以下代码:
```
<style name="CustomSearchViewStyle" parent="Widget.AppCompat.SearchView">
<item name="android:textColor">#ffffff</item>
<item name="colorControlNormal">#ffffff</item>
<item name="colorControlActivated">#ffffff</item>
<item name="colorControlHighlight">#ffffff</item>
</style>
```
2. 在布局文件中设置SearchView的样式:
```
<android.support.v7.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/CustomSearchViewStyle" />
```
3. 在Java代码中设置光标颜色:
```
SearchView searchView = (SearchView) findViewById(R.id.search_view);
int searchTextViewId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
EditText searchTextView = (EditText) searchView.findViewById(searchTextViewId);
searchTextView.setHintTextColor(Color.WHITE);
try {
Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes");
mCursorDrawableRes.setAccessible(true);
mCursorDrawableRes.setInt(searchTextView, R.drawable.cursor);
} catch (Exception e) {
e.printStackTrace();
}
```
其中,R.drawable.cursor是你自己定义的光标图片。这样就可以更改SearchView的光标颜色了。
阅读全文