如何在android中更改edittext边框的选定颜色?

时间:2016-08-02 11:33:22

标签: android android-edittext

我是Android新手并在登录页面上工作 我有两个EditText项,想要在选中时更改EditText的底部边框颜色。
我不希望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"

            />

1 个答案:

答案 0 :(得分: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>