在android上自定义editText

时间:2015-06-19 14:30:31

标签: android android-layout android-edittext frontend android-custom-view

我是Android布局的新手,所以我需要一些帮助。

我想创建一个自定义的editText,如下所示:

An email field with this blue "bar" in the left side

我想以最好的方式解决这个问题。

有人?

感谢。

2 个答案:

答案 0 :(得分:2)

如果你想要左边的蓝线,你可以在EditText上设置背景,例如,

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:background="@drawable/custom_edittext"
        android:layout_weight="1" />

然后在drawable文件夹中创建另一个文件,名为custom_layer.xml

   <?xml version="1.0" encoding="utf-8"?>
   <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:bottom="-5dp"
        android:right="-5dp"
        android:top="-5dp">
        <shape android:shape="rectangle" >
            <solid android:color="@color/color_of_the_background" />
            <stroke
                android:width="5dp"
                android:color="@color/color_of_the_border" />
        </shape>
    </item>
</layer-list>

最终的选择器文件 - custom_edittext.xm

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/custom_layer">        
    </item>
</selector>

答案 1 :(得分:1)

你可以创建一个Shape drawable并设置drawable为EditText背景