2014-09-04 16 views
8

Ho bisogno di progettare EditText con la linea di base mostrata nell'immagine sottostante e cambierà in qualche altro colore quando riceve attenzione.!Modifica del colore della linea di base dello sfondo del testo Modifica in base al relativo fuoco in Android

enter image description here

Sto usando la seguente.

<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" 

    /> 

Quindi, per favore guidami come gestirlo.

+0

leggi Informazioni su StateListDrawable tag in xml – pskink

+0

Qualche idea chiara su questo? – koti

risposta

3

Prova il generatore di colori Holo per colori personalizzati.

Android Holo Colors

È possibile creare selettore e impostarla come sfondo delle 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> 

disposizione:

<EditText  
    android:id="@+id/mobilenumber" 
    .... 
    android:background="@drawable/edit_text" /> 
+0

Bella risposta. Il tuo codice XML manca però il tag. A parte questo - grazie fratello! –

+1

Risposta @AlexeyFShevelyov aggiornata. Grazie. :) – SilentKiller

25

È possibile aggiungere tema per 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> 

e si può utilizzare in EditText come

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

</EditText> 
+2

Esattamente ciò che è necessario. Funziona perfettamente. Grazie mille!!! – DmitryKanunnikoff

0

uso questo nel vostro stile 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>