2014-09-04 24 views
8

Aşağıdaki resimde gösterilen taban çizgisiyle EditText tasarımı yapmalı ve odak aldığında başka bir renge dönüşecektir.EditText arka plan temel çizgi rengi, odağını temel alan, android

enter image description here

i aşağıdakileri kullanıyorum.

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

    /> 

Lütfen, bunun nasıl yapılacağını bana yönlendirin.

+0

read StateListDrawable etiketi hakkında xml içinde – pskink

+0

Bu konuda net bir fikrin var mı? – koti

cevap

3

Özel renkler için Holo Color jeneratörü deneyin.

Android Holo Colors

Sen/çekilebilir/edit_text.xml Seçici oluşturmak ve EditText

res arka planı olarak ayarlayabilirsiniz

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

düzen:

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

Güzel cevap. XML Kodunuz, etiketini özlüyor. Bunun dışında - teşekkürler kardeşim! –

+1

@AlexeyFShevelyov yanıtı güncellendi. Teşekkürler. :) – SilentKiller

25

Sen

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

EditText

temasını ekleyebilir Ve

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

</EditText> 
+2

Tam olarak ne gerekiyor. Mükemmel çalışıyor. Çok teşekkür ederim!!! – DmitryKanunnikoff

0

kullanımı gibi EditText kullanabileceğiniz bu EditText tarzında

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