如何仅在EditText底部添加边框?

时间:2014-08-25 07:45:10

标签: android

我看到了许多相关的讨论,但没有找到合适的解决方案。我需要做的是在EditText小部件的底部创建一个黑色边框。这可能吗?

6 个答案:

答案 0 :(得分:56)

res

中的 drawable 文件夹中创建一个 edittext_bottom_line.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="0.5dp"
                android:color="@android:color/black" />
        </shape>
    </item>

</layer-list>

设置控件的单个属性,如下所示:

 <EditText
     android:id="@+id/editTextEnterPassword"
     android:layout_width="fill_parent"
     android:layout_height="40dp"
    android:background="@drawable/edittext_bottom_line"
    /> 

答案 1 :(得分:10)

我在最后编译了这个:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"><layer-list>
                <item android:bottom="-10dp" android:left="-10dp" android:right="-10dp"><shape>
                        <gradient android:angle="270" android:endColor="#a0e0b071" android:startColor="#a0a67637" />

                        <stroke android:width="10dp" android:color="#5c3708" />

                        <corners android:radius="5dp" />

                        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
                    </shape></item>
            </layer-list></item>
        <item android:state_enabled="true"><layer-list>
                <item android:bottom="-10dp" android:left="-10dp" android:right="-10dp"><shape android:shape="rectangle">
                        <gradient android:angle="270" android:endColor="#a0a67637" android:startColor="#a0e0b071" />

                        <stroke android:width="10dp" android:color="#5c3708" />

                        <corners android:radius="5dp" />

                        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
                    </shape></item>
            </layer-list></item>

    </selector>

答案 2 :(得分:5)

只需在 res / drawable

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

    <item android:bottom="-1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="2dp"
                android:color="@color/drawe_content_color_click" />
        </shape>
    </item>

</layer-list> 

并设置所需的背景。对我来说,我得到的解决方案就像[![myoutput !!] [1]] [1]。我认为我的回答对其他人有帮助。

答案 3 :(得分:2)

您可以创建一个xml文件,如下所示:

<item>
    <shape android:shape="rectangle" >
        <solid android:color="@color/orange" />
    </shape>
</item>
<item android:bottom="4dp">
    <shape android:shape="rectangle" >
        <size android:height="4dp" />

        <solid android:color="@color/green3" />
    </shape>
</item>

然后将此文件设置为您的背景

答案 4 :(得分:2)

使用以下项目创建图层列表

<item android:bottom="-1dp"
    android:left="-2dp"
    android:right="-2dp"
    android:top="-2dp">
    <shape android:shape="rectangle" >
        <stroke
            android:width="2dp"
            android:color="#111111" />
    </shape>
</item>

答案 5 :(得分:0)

<?xml version="1.0" encoding="utf-8" `enter code here`?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:left="2dp" android:right="-2dp"
        android:top="-2dp" android:bottom="2dp" >
        <shape android:shape="rectangle">
            <stroke android:color="@android:color/black" android:width="2dp">

            </stroke>
        </shape>
    </item>
</layer-list>