如何自定义EditText?

时间:2015-11-16 16:57:53

标签: android android-layout

我需要EditText看起来像这样:

EditText

我有一个底线的颜色。 我很长时间没有使用UI,我不记得怎么做。

有人知道吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以在drawable resource background下面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="@color/bg_color" /> <!-- color of stroke --> </shape> </item> </layer-list>

td

答案 1 :(得分:0)

在设计支持库中引入了一个名为 TextInputLayout 的新元素,以在EditText上显示浮动标签。

TextInputLayout获取分配给EditText的android:hint值,并将其显示为浮动标签。

要按照您的意愿显示,尝试这样:

<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/yourThemeWithYourColor">

    <EditText
        android:id="@+id/input_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Email" />

</android.support.design.widget.TextInputLayout>

答案 2 :(得分:0)

以下方法适用于我(我通过查看Telegram源代码找到了此方法):

1 - 创建如下选择器:

   <?xml version="1.0" encoding="utf-8"?>

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/search_dark_activated" />
        <item android:state_focused="true" android:drawable="@drawable/search_dark_activated" />
        <item android:drawable="@drawable/search_dark" />
    </selector>

这里有九个补丁:

enter image description here enter image description here