Cursor de vista de búsqueda de android no visible como el mismo color de la barra de herramientas
<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>
Mi colorAccent es también colorPrimary, cómo cambiar el color del cursor, me referí a otras queciones, pero nada resolvió mi problema
- Formatear texto para sugerencias de búsqueda personalizadas proporcionadas en un cursor de un proveedor de contenido
- Android: menuItem.expandActionView () en el nivel API <14
- Personalizar seeekbar enpoints
- Creación de un filtro de texto (como búsqueda rápida) para un Spinner en Android
- Cómo filtrar texto en un ListView correctamente?
- Global "función de búsqueda" en la aplicación completa
- Lista de búsqueda de Android al escribir
- Búsqueda asistida por Android: El botón de búsqueda no invoca la actividad que se puede buscar (Otras soluciones no ayudaron)
- ¿Cómo implementar un cuadro de diálogo con un cuadro de búsqueda?
- Poner mi aplicación en la lista de búsqueda de Google Now Phone (Búsqueda global de Android)
- Cómo cambiar las sugerencias de búsqueda Color del texto
- Obtenga los datos de contacto de la identificación de contacto en Android
- Sugerencias personalizadas en el Widget de búsqueda (Android ICS)
Tienes dos opciones.
1). Puede utilizar estos atributos en styles.xml
para cambiar el color del cursor.
<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>
2). Busque el EditText de su SearchView
y establezca el atributo android:textCursorDrawable
en @null
. Esto resultará en android:textColor
como el color del cursor. Pero como no se puede establecer textCursorDrawable
programatically, por lo que tiene que hacer uso de la reflexión en este caso.
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));
Con suerte, cualquiera de las soluciones anteriores funcionará para usted .. !!
Use colorAccent en style.xml …
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/orange</item> <item name="colorPrimaryDark">@color/dark_orange</item> <item name="colorAccent">@color/blue</item> </style>
- Cómo obtener el archivo APK de mi proyecto
- Bucle Android a través de una cadena para colorear palabras específicas