2016-08-02 9 views
-1

Ich bin neu in Android und arbeite auf einer Anmeldeseite.
Ich habe zwei EditText Elemente und möchte die untere Rahmenfarbe des EditText ändern, wenn es ausgewählt ist.
Ich möchte keine EditText mit allen Grenzen, nur die untere Grenze.
Ich habe versucht, wie unten, aber es funktioniert nicht:Wie ändere ich die gewählte Farbe der Edittext Grenze in Android?

EditText

<EditText 
      android:id="@+id/et_email" 
      android:layout_width="250dp" 
      android:layout_height="50dp" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="10dp" 
      android:textSize="18dp" 
      android:textColor="#fff" 
      android:hint="Enter Your Email" 

      /> 
+0

Verwenden Sie einen StateList ziehbar, auch bekannt als „Selektor“. –

Antwort

0

erstellen ziehbar XML-Datei button_focused.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/transparent" /> <!--background color of box--> 
     </shape> 
    </item> 

    <item 
     android:top="-2dp" 
     android:right="-2dp" 
     android:left="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 
      <stroke 
       android:width="1dp" 
       android:color="#000000" /> <!-- color of stroke --> 
     </shape> 
    </item> 
</layer-list> 

Sie xml für gepresste erstellen sollte und normale auch.

Schließlich sollten Sie den folgenden Code verwenden, um die Farbe oder Hintergrund auf fokussierte normales Basis zu ändern und gedrückt

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/button_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" 
      android:drawable="@drawable/button_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/button_normal" /> <!-- default --> 
</selector>