Android EditText背景里面有一行

时间:2014-07-21 16:40:11

标签: android background android-edittext textfield underline

我正在为我的EditText创建背景,我想在文本下添加一行。

我的背景代码:

<item android:state_pressed="true" android:state_focused="true">
    <shape>
        <solid android:color="#10FFFFFF" />
        <corners android:radius="5dp" />
    </shape>
</item>

如何在形状中添加线条?

从图形项目预览:enter image description here

2 个答案:

答案 0 :(得分:17)

试试这个(通过编辑Krylez发布的帖子找到答案)。 我测试了这个并且它有效。在drawable文件夹中创建XML,并根据需要设置颜色。然后设置为EditText的背景

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

答案 1 :(得分:1)

我已经重新创建了原始底线的行为。它包括边缘上的填充物和聚焦时的行为。

expression_edit_text_bgc_selector.xml (将其设置在android:background中)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true"
        android:drawable="@drawable/expression_edit_text_bgc_focused"/>
    <item android:drawable="@drawable/expression_edit_text_bgc_normal"/>
</selector>

expression_edit_text_bgc_focused.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!--<item android:drawable="@color/main_bg_color"/>-->
    <item>
        <shape>
            <solid android:color="@android:color/transparent"/>
        </shape>
    </item>

    <item
        android:gravity="bottom"
        android:bottom="8dp"
        android:left="4dp"
        android:right="4dp">
        <shape android:shape="rectangle">
            <size android:height="2dp"/>
            <solid android:color="?colorAccent"/>
        </shape>
    </item>
</layer-list>

expression_edit_text_bgc_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!--<item android:drawable="@color/main_bg_color"/>-->
    <item>
        <shape>
            <solid android:color="@android:color/transparent"/>
        </shape>
    </item>

    <item
        android:gravity="bottom"
        android:bottom="8dp"
        android:left="4dp"
        android:right="4dp">
        <shape android:shape="rectangle">
            <size android:height="1dp"/>
            <solid android:color="?android:colorControlNormal"/>
        </shape>
    </item>
</layer-list>