texto subrayar studio propiedades programacion móviles desarrollo curso caja aplicaciones android login android-edittext

subrayar - propiedades textview android



Editar texto subrayado debajo de la propiedad de texto (11)

De hecho, es bastante fácil establecer el color de subrayado de un EditText mediante programación (solo una línea de código).

Para establecer el color:

editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);

Para eliminar el color:

editText.getBackground().clearColorFilter();

Nota: cuando EditText tiene foco , el color que establezca no tendrá efecto, en cambio, tiene un color de enfoque.

Referencia de API:

Drawable#setColorFilter

Drawable#clearColorFilter

Me gustaría cambiar el color azul debajo del texto de edición, no sé qué propiedad es.

Intenté usar un color de fondo diferente pero no funcionó.

Adjunto una imagen a continuación:


En el estilo de su aplicación, defina la propiedad colorAccent . Aquí encuentras un ejemplo

<style name="AppTheme" parent="Theme.AppCompat.Light"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/action_bar</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/action_bar</item> </style>


Esto funciona bien para la versión antigua y nueva de Android (funciona bien incluso en API 10!).

Defina este estilo en su styles.xml :

<style name="EditText.Login" parent="Widget.AppCompat.EditText"> <item name="android:textColor">@android:color/white</item> <item name="android:textColorHint">@android:color/darker_gray</item> <item name="colorAccent">@color/blue</item> <item name="colorControlNormal">@color/blue</item> <item name="colorControlActivated">@color/blue</item> </style>

Y ahora en su XML, establezca esto como tema y estilo ( estilo para establecer textColor , y el tema para establecer todas las demás cosas):

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" style="@style/EditText.Login" android:theme="@style/EditText.Login"/>

Editar

Esta solución provoca un pequeño error de UI en las versiones más nuevas de Android (Lollipop o Marshmallow en adelante) que los identificadores de selección están subrayados.

Este problema se discute en este hilo . (No he probado esta solución personalmente)


Por lo tanto, debe crear un nuevo archivo .xml en su carpeta dibujable.

En ese archivo pega este código:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="8dp" android:left="-3dp" android:right="-3dp" android:top="-3dp"> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="@color/white"/> </shape> </item>

Y en tu EditText, establece

android:background="@drawable/your_drawable"

Puede jugar con su xml dibujable, establecer esquinas, rellenos, etc.


Puede cambiar el color de EditText mediante programación simplemente usando esta línea de código fácilmente:

edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));


Si no tiene que admitir dispositivos con API <21, use backgroundHint en xml, por ejemplo:

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:hint="Task Name" android:ems="10" android:id="@+id/task_name" android:layout_marginBottom="15dp" android:textAlignment="center" android:textColor="@android:color/white" android:textColorLink="@color/blue" android:textColorHint="@color/blue" android:backgroundTint="@color/lighter_blue" />

Para un mejor soporte y retrocesos, use la solución @Akariuz. backgroundHint es la solución más sencilla, pero no compatible con versiones anteriores, de acuerdo con sus necesidades hacer una llamada.


Use android:backgroundTint="" en su diseño EditText xml.

Para api <21 puede usar AppCompatEditText desde la biblioteca de soporte y luego la app:backgroundTint=""


Use el código siguiente para cambiar el color de fondo del borde del texto de edición.

Crear nuevo archivo XML bajo drawable.

abc.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#00000000" /> <stroke android:width="1dip" android:color="#ffffff" /> </shape>

y agrégalo como fondo de tu texto de edición

android:background="@drawable/abc"


puede cambiar el subrayado del color EditText especificándolo en styles.xml . En el tema de la aplicación styles.xml, agregue lo siguiente.

<item name="android:textColorSecondary">@color/primary_text_color</item>

Como lo señaló ana en la sección de comentarios

<item name="android:colorControlActivated">@color/black</item>

configurar esto en estilo de tema funciona bien para cambiar el color de un subrayado de texto de edición.


EditText usar una imagen de fondo diferente, no color, para cada estado de EditText (foco, activado, activado).

android-holo-colors.com

En el sitio anterior, puede obtener imágenes de muchos componentes en el tema Holo. Simplemente seleccione "Editar texto" y el color que desee. Puedes ver una vista previa en la parte inferior de la página.

Descargue el archivo .zip y copie y pegue los recursos en su proyecto (imágenes y XML).

si su XML se llama: apptheme_edit_text_holo_light.xml (o algo similar):

  1. Vaya a su XML "styles.xml" y agregue el estilo personalizado EditText :

    <style name="EditTextCustomHolo" parent="android:Widget.EditText"> <item name="android:background">@drawable/apptheme_edit_text_holo_light</item> <item name="android:textColor">#ffffff</item> </style>

  2. Solo haz esto en tu EditText :

    <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/EditTextCustomHolo"/>

Y eso es todo, espero que te ayude.


Para cambiar el color de la línea de fondo, puede usar esto en el tema de su aplicación:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorControlNormal">#c5c5c5</item> <item name="colorControlActivated">#ffe100</item> <item name="colorControlHighlight">#ffe100</item> </style>

Para cambiar el color de la etiqueta flotante escriba el siguiente tema:

<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance"> <item name="android:textColor">#4ffd04[![enter image description here][1]][1]</item> </style>

y usa este tema en tu diseño:

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"> <EditText android:id="@+id/edtTxtFirstName_CompleteProfileOneActivity" android:layout_width="match_parent" android:layout_height="wrap_content" android:capitalize="characters" android:hint="User Name" android:imeOptions="actionNext" android:inputType="text" android:singleLine="true" android:textColor="@android:color/white" /> </android.support.design.widget.TextInputLayout>