2016-08-02 151 views
-1

我是Android新手,正在登錄頁面上工作。
我有兩個EditText項目,並且當它被選中時,想要更改EditText的底部邊框顏色。
我不想要所有邊框的EditText,只有底部邊框。
我曾嘗試如下,但它不工作:如何更改android中edittext邊框的選定顏色?

的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

使用StateList繪製,又名「選擇」。 –

回答

0

創建一個可繪製的xml文件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> 

您應該壓制和正常創建XML以及。

最後,你應該使用下面的代碼來改變基於集中正常的顏色或背景和壓制

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