El elemento SearchView no tiene propiedades para cambiar el color del texto. El color del texto predeterminado es negro y no funciona en nuestro fondo oscuro. ¿Existe alguna forma de cambiar el color del texto sin recurrir a hacks?
Encontré esta pregunta similar relacionada con el cambio del tamaño del texto, pero hasta ahora, no tiene ninguna respuesta: ¿Cómo configurar SearchView TextSize?
android
searchview
CACuzcatlán
fuente
fuente
Respuestas:
Añadir
al tema principal y eso debería cambiar el texto ingresado. También puedes usar
para cambiar el texto de la sugerencia para SearchView. (Tenga en cuenta que puede reemplazar
@android:color/white
con cualquier valor apropiado que desee usar)fuente
EditText
s. La única solución que me ha funcionado y que cambiaSearchView
solo el color del texto está aquí: stackoverflow.com/a/40550067/1617737Intente algo como esto: obtendría un control de la vista de texto desde el sdk y luego lo cambiaría ya que no lo exponen públicamente.
fuente
Esto funciona para mi.
fuente
Quería hacer algo similar. Finalmente tuve que encontrar
TextView
entre losSearchView
niños:Si quieres el método util:
fuente
Gracias a @CzarMatt agregué soporte para AndroidX .
Para mí funciona lo siguiente. Usé un código de un enlace: cambie el color del texto de la pista de búsqueda en la barra de acción usando la biblioteca de soporte .
Cambiar el color del texto de la pista de la vista de búsqueda de la barra de acción aconseja otra solución. Funciona, pero solo establece el texto y el color de las sugerencias.
fuente
androidx.appcompat.R.id.search_src_text
si ha migrado su proyecto a AndroidX.Esto se logra mejor a través de estilos personalizados. Sobrecargue el estilo del widget de la barra de acciones con su propio estilo personalizado. Para luz holográfica con barra de acción oscura, coloque esto en su propio archivo de estilos, como
res/values/styles_mytheme.xml
:Asegúrese de que su aplicación esté usando un tema personalizado como se describe en ingrese la descripción del enlace aquí
fuente
Puede hacerlo configurando el
editTextColor
atributo en el estilo.y aplica este estilo
Toolbar
aoSearchView
en el diseño.fuente
si usa - android.support.v7.widget.SearchView
en Kotlin
Debería comenzar a usar las bibliotecas de soporte de androidx ahora
fuente
Crea un estilo para tu
Toolbar
Y configúrelo como el tema del
Toolbar
fuente
Si está utilizando android.support.v7.widget.SearchView, es posible sin tener que utilizar la reflexión.
Así es como lo hago en mi aplicación:
No exponen los identificadores públicamente para SearchView que no es compatible con aplicaciones, pero lo hacen para AppCompat si sabe dónde buscar. :)
fuente
Tuve este problema y me funciona.
fuente
Si basa el tema de su aplicación en el tema holo, obtendrá un texto blanco en lugar de negro en su SearchView
<style name="Theme.MyTheme" parent="android:Theme.Holo">
No encontré ninguna otra forma de cambiar el color del texto de la vista de búsqueda sin usar trucos sucios.
fuente
La forma más limpia es:
La barra de herramientas utiliza el tema ThemeOverlay.AppCompat.Dark.Actionbar.
Ahora haz que sea niño como:
toolbarStyle parent "ThemeOverlay.AppCompat.Dark.Actionbar"
agrega este artículo en ese estilo
nombre del elemento "android: editTextColor"> yourcolor
Hecho.
Otra cosa muy importante es que, en la barra de herramientas, coloque layout_height = "? Attr / actionbarSize". Por defecto es wrap_content. Para mí, el texto ni siquiera era visible en la vista de búsqueda, solucionó ese problema.
fuente
Sí, es posible usando el siguiente método.
La llamada de este método se ve así ...
al usarlo, agregué con éxito el color rojo * marca en la pista usando este método. Debe cambiar este método según sus necesidades. Espero que te sea de ayuda .... :)
fuente
SearchAutoComplete autoCompleteView = (SearchAutoComplete) mSearchView .findViewById(com.android.internal.R.id.search_src_text);autoCompleteView.setHintTextColor(R.color.hint_text_color);
esa es mi solución, pero creo que la tuya es mejor que la mía, usaré tu solución, gracias.Usa este, es correcto. :RE
fuente
Si podemos,
Para aplicar el color blanco para el texto de SerachView,
Feliz codificación !!!!
fuente
Esto es trabajo para mí.
fuente
Cambiar el color del texto escrito:
Cambiar el color del texto de la sugerencia:
fuente
fuente
Un
SearchView
objeto se extiende desdeLinearLayout
, por lo que tiene otras vistas. El truco consiste en encontrar la vista que contiene el texto de la sugerencia y cambiar el color mediante programación. El problema de intentar encontrar la vista por id es que el id depende del tema utilizado en la aplicación. Entonces, dependiendo del tema utilizado, elfindViewById(int id)
método podría regresarnull
. Un mejor enfoque que funciona con todos los temas es recorrer la jerarquía de vistas y encontrar el widget que contiene el texto de la sugerencia:Con este método, también puede cambiar el aspecto de otros widgets en la
SearchView
jerarquía, como el queEditText
contiene la consulta de búsqueda. A menos que Google decida cambiar la jerarquía de vista de unSearchView
breve, debería poder cambiar la apariencia del widget con este método durante algún tiempo.fuente
Es posible personalizar la vista de búsqueda usando la biblioteca appcompat v7. Usé la biblioteca appcompat v7 y definí un estilo personalizado para ella. En la carpeta dibujable, coloque el archivo bottom_border.xml que se ve así:
En la carpeta de valores styles_myactionbartheme.xml:
Definí el archivo custommenu.xml para mostrar el menú:
Su actividad debe extender ActionBarActivity en lugar de Activity. Aquí está el método onCreateOptionsMenu.
En archivo de manifiesto:
Para obtener más información, consulte esta URL:
aquí http://www.jayway.com/2014/06/02/android-theming-the-actionbar/
fuente
para la barra de herramientas appcompat-v7 con searchView (proporcionada a través de MenuItemCompat):
Configurar el tema de la barra de herramientas en @ style / ThemeOverlay.AppCompat.Light producirá un color oscuro (negro) para el texto de sugerencia y para el texto ingresado, pero no afectará el color del cursor *. En consecuencia, configurar el tema de la barra de herramientas en @ style / ThemeOverlay.AppCompat.Dark producirá un color claro (blanco) para el texto de sugerencia y el texto ingresado, el cursor * será blanco de todos modos.
Personalización de los temas anteriores:
android: textColorPrimary -> color del texto ingresado
editTextColor -> color del texto ingresado (anulará el efecto de android: textColorPrimary si está configurado)
android: textColorHint -> color de la pista
* nota: Todavía tengo que determinar cómo se puede controlar el color del cursor (sin usar la solución de reflexión).
fuente
Al usar esto, pude cambiar el texto de color escrito en la vista de búsqueda
fuente
Guau. Mucha respuesta. Obtiene el valor del color de su color primario.
¡Cámbielo y listo!
Estilos;
fuente
cambie el estilo de searchView en la barra de herramientas con androidx.
en primer lugar, establezca el estilo de vista de búsqueda en el Estilo de su barra de herramientas (cámbielos a los padres con su propia base de aplicaciones):
luego, úselo en el diseño de su barra de herramientas:
con esto, puede cambiar la mayor parte del estilo de searchView, excepto la sugerencia de consulta.
finalmente configure la sugerencia de consulta en las opciones del menú de la barra de herramientas:
fuente
Estoy usando la biblioteca de Holoeverywhere. Tenga en cuenta el org.holoeverywhere.R.id.search_src_text
fuente
Encontré una solución en una publicación de blog. Vea aquí .
Básicamente, le aplica el estilo a searchViewAutoCompleteTextView y hace que android: actionBarWidgetTheme herede el estilo.
fuente
funciona conmigo
fuente
Que funciono para mi
fuente
Para Kotlin Language
fuente