Tengo este problema cuando uso el tema Holo de Android en un proyecto de tableta. Sin embargo, tengo un fragmento en la pantalla que tiene un fondo blanco. Estoy agregando un EditText
componente en este fragmento. Intenté anular el tema estableciendo el fondo de los recursos del tema Holo.Light. Sin embargo, mi cursor de texto (quilate) permanece blanco y, por lo tanto, invisible en la pantalla (puedo verlo débilmente en el campo de edición de texto ...).
¿Alguien sabe cómo puedo hacer que EditText use un color de cursor más oscuro? Intenté configurar el estilo de EditText "@android:style/Widget.Holo.Light.EditText"
sin ningún resultado positivo.
target
> 3.2 en su manifiesto puede usarlo y será ignorado para versiones inferioresEn diseño
Luego cree xml drawalble: color_cursor
Tiene un cursor de color blanco en la propiedad EditText.
fuente
Parece que todas las respuestas van alrededor de los arbustos.
En su
EditText
, use la propiedad:y agregue el sorteo
black_cursor.xml
a sus recursos, de la siguiente manera:Esta es también la forma de crear cursores más diversos, si es necesario.
fuente
Hay una nueva forma de cambiar el color del cursor en la última
Appcompact
v21.Simplemente cambie el
colorAccent
estilo de esta manera:Luego aplique este estilo en el tema o las actividades de su aplicación.
Actualización : de esta manera solo funciona en API 21+Actualización 2 : no estoy seguro de la versión mínima de Android que puede funcionar.
Probado por la versión de Android:
fuente
colorAccent
cambia, por ejemplo, la línea en la parte inferior de unEditText
pero no toca el color real del cursor. Ah, y ya no hay "v21", por supuesto.Encontré la respuesta :)
He configurado el estilo editText del tema en:
Luego he usado el siguiente dibujo para establecer el cursor:
``
``
android: textCursorDrawable es la clave aquí.
fuente
android:editTextStyle
, pero lo cambié paraeditTextStyle
solucionarlo. Ver stackoverflow.com/a/34010235/6744473Para cualquiera que necesite establecer el
EditText
color del cursor dinámicamente, a continuación encontrará dos formas de lograrlo.Primero, crea tu cursor dibujable:
Establezca la identificación del recurso dibujable del cursor en el dibujable que creó (https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564">source)) :
Para cambiar simplemente el color del cursor predeterminado dibujable, puede usar el siguiente método:
fuente
AppCompatEditText
ya lo ha hechosetSupportBackgroundTintList
, entonces, ¿no sería bastante simple agregar algo comosetSupportCursorTintList
?Tarde a la fiesta, esta es mi respuesta,
¡Esto es para las personas que no buscan cambiar el
colorAccent
tema principal, pero quieren cambiar losEditText
atributos!Ejemplo:
¡Ahora crea un drawable (
edit_text_background
), agrega un recurso xml para el fondo! ¡Puedes personalizarlo como quieras!Ahora, como configuraste este estilo en tu tema Actividad.
Ejemplo:
En su Actividad, tiene un tema, establezca este
editText
tema personalizado en eso.fuente
<item name="editTextStyle">@style/AppTheme.EditText</item> // inculude this
sin efectoandroid:editTextSteyle
, el atributo correcto eseditTextStyle
<item name="android:textCursorDrawable">@color/white</item>
no funcionaLuego crea xml extraíble:
color_cursor
fuente
Para mí modifiqué tanto el AppTheme como un valor colors.xml
Aquí está el colors.xml
Saqué el atributo android: textCursorDrawable a @null que coloqué dentro del estilo editText. Cuando intenté usar esto, los colores no cambiaron.
fuente
Wow, llegué muy tarde a esta fiesta, pero ha tenido actividad hace 17 días Parece que debemos considerar publicar qué versión de Android estamos usando para una respuesta, por lo que esta respuesta funciona con Android 2.1 y superior Ir a RES / VALORES / ESTILOS y agregue las líneas de código a continuación y su cursor será negro
Necesitará esta línea de código en su carpeta RES / COLOR
¿Por qué publicar tan tarde? ¡Sería bueno considerar alguna forma de categorías para el monstruo con muchas cabezas en el que se ha convertido Android!
fuente
Aquí la versión programática setCursorDrawableColor () de @Jared Rummler adaptada para funcionar también en Android 9 Pie.
fuente
java.lang.NoSuchFieldException: No field mDrawableForCursor
en Android 9.eso se llama
colorAccent
en Android.vaya a res -> valores -> styles.xml add
si no existe
fuente
editcolor.xml
android:textCursorDrawable="@drawable/editcolor"
En el archivo xml establece el código de
edittext
color del color de fondofuente
La única respuesta válida debe ser cambiar el tema de la actividad:
<item name="colorAccent">#000000</item>
No use elandroid:textCursorDrawable
que@null
debido a esto sólo se refiere el cursor en sí, pero no el pasador debajo del cursor si quieres que arrastrar el cursor. La solución temática es la más seria.fuente
Otra solución simple sería ir a res> values> colors.xml en la carpeta del proyecto y editar el valor del acento de color al color que prefiera
El código anterior cambia el cursor a negro.
fuente
Vaya a styles.xml y cambie el acento de color y esto influirá en el cursor desde el cuadro de edición de texto.
fuente
Es incluso más fácil que eso.
Esto funciona en ICS y más allá. No lo he probado en otras versiones.
fuente
si desea un color específico, debe usar AppCompatEditText y luego establecer el fondo nulo
funciona para mi
Mira esta esencia
fuente
Utilizar este
fuente
Presta atención a tu colorAccent en tu Actividad / fragmento / Diálogo actual, definido en Estilos ...;) el color del cursor está relacionado con él.
fuente
cambiar el color de colorAcentuar en styles.xm, eso es simple
fuente
Si usa estilo e implemento
reemplace su valor que no sea color / blanco.
fuente
puedes usar el siguiente código en el diseño
fuente
Después de pasar mucho tiempo probando todas estas técnicas en un Diálogo, finalmente tuve esta idea: adjuntar el tema al Diálogo en sí y no al TextInputLayout.
dentro de Crear:
myDialog de clase pública extiende el diálogo {
salud :)
fuente