<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right|end">
<android.support.v7.widget.SearchView
android:background="@null"
android:id="@+id/searchView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
我的colorAccent也是colorPrimary,如何更改光标颜色,我提到了其他的排队,但没有解决我的问题
Muk*_*ana 13
你有两个选择.
1).您可以在styles.xml
更改光标颜色时使用这些属性.
<item name="colorControlNormal">@color/colorEditextDisabled</item>
<item name="colorControlActivated">@color/colorEditextEnabled</item> // change this color to the required cursor color your need.
<item name="colorControlHighlight">@color/colorEditextEnabled</item>
Run Code Online (Sandbox Code Playgroud)
2).从您的FindText中找到并将属性SearchView
设置android:textCursorDrawable
为@null
.这将导致android:textColor
光标颜色.但由于您无法以textCursorDrawable
编程方式设置,因此在这种情况下您必须使用反射.
EditText etSearch= ((EditText) yourSearchView.findViewById(android.support.v7.appcompat.R.id.search_src_text));
try {
Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
f.setAccessible(true);
f.set(etSearch, null);// set textCursorDrawable to null
} catch (Exception e) {
e.printStackTrace();
}
etSearch.setTextColor(ContextCompat.getColor(mContext, R.color.yourColor));
Run Code Online (Sandbox Code Playgroud)
希望以上任何解决方案都能为您服务.. !!
归档时间: |
|
查看次数: |
4265 次 |
最近记录: |