web-dev-qa-db-fra.com

La couleur de la ligne de base du fond EditText change en fonction de son orientation dans Android

Je dois concevoir EditText avec la ligne de base montrée dans l'image ci-dessous et ce sera changé en une autre couleur quand il aura le focus.!

enter image description here

j'utilise ce qui suit.

 <EditText    
    Android:id="@+id/mobilenumber" 
    Android:drawableLeft="@drawable/mobile"
    Android:drawablePadding="15dp" 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:inputType="number"
    Android:background="@drawable/edt_bg"
    Android:singleLine="true"
    Android:textColorHint="#FFFFFF"
    Android:hint="@string/mobilenumber"
    Android:layout_marginTop="20dp"
    Android:layout_gravity="center"
    Android:padding="5dp"
    Android:imeOptions="actionNext"
    Android:maxLength="10"
    Android:textColor="#ffffff"
    Android:textCursorDrawable="@null"

    />

Alors, s'il vous plaît, guidez-moi comment gérer cela.

17
koti

Vous pouvez ajouter un thème pour EditText

<style name="EditTextTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">@color/primary</item>
    <item name="colorControlActivated">@color/primary</item>
    <item name="colorControlHighlight">@color/primary</item>
</style>

Et vous pouvez utiliser dans EditText comme

<EditText
    Android:id="@+id/edtCode"
    Android:layout_width="match_parent"
    Android:layout_height="40dp"
   .......................
    Android:theme="@style/EditTextTheme">

</EditText>
48
jobi mg

utilisez ceci dans votre style editText

<item name="backgroundTint">@color/focus_tint_list</item>

focus_tint_list.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
   <item Android:state_focused="true" Android:color="?attr/colorAccent"/>

   <item Android:state_focused="false" Android:color="#999999"/>

</selector>
3
Slashbin

Essayez le générateur de couleurs Holo pour des couleurs personnalisées.

Android Holo Colors

Vous pouvez créer un sélecteur et le définir comme arrière-plan de la EditText

res/drawable/edit_text.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item
        Android:state_window_focused="false"
        Android:state_enabled="true"
        Android:drawable="@drawable/textfield_default" />

    <item
        Android:state_window_focused="false"
        Android:state_enabled="false"
        Android:drawable="@drawable/textfield_disabled" />

    <item
        Android:state_pressed="true"
        Android:drawable="@drawable/textfield_pressed" />

    <item
        Android:state_enabled="true"
        Android:state_focused="true"
        Android:drawable="@drawable/textfield_selected" />

    <item
        Android:state_enabled="true"
        Android:drawable="@drawable/textfield_default" />

    <item
        Android:state_focused="true"
        Android:drawable="@drawable/textfield_disabled_selected" />

    <item
        Android:drawable="@drawable/textfield_disabled" />

</selector>

disposition :

<EditText    
    Android:id="@+id/mobilenumber"
    ....
    Android:background="@drawable/edit_text" />
3
SilentKiller

J'avais besoin de la même chose et je l'ai résolue de la manière suivante:

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
 <item Android:state_focused="true" Android:state_window_focused="true">
   <shape>
     <stroke Android:color="@color/blue_500" Android:width="2dp" />
     <corners Android:radius="45dp"/>
   </shape>
</item>
<item Android:state_focused="false" Android:state_window_focused="false">
  <shape>
    <stroke Android:color="@color/grey_600" Android:width="2dp"/>
    <corners Android:radius="45dp"/>
  </shape>
</item>
</selector>
0

Pour changer la ligne de base de EditText quand elle est active, vous pouvez simplement aller dans le fichier colors.xml de votre projet et changer la valeur "colorAccent".

res/values ​​/ colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<color name="colorAccent">#DESIRED_COLOR</color>
</resources>`
0
Anuragraphy