首页 > 解决方案 > 如何在 Android 中的 TextView 和 EditText 下方添加下划线

问题描述

我想实现这样的目标,我只能做 TextView 但与 EditText 相邻,我被卡住了。

到目前为止,这是我的代码-

可绘制 -

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="line">
    <stroke android:color="#3F51B5" android:width="2dp"/>
    <padding android:top="-30dp" />
</shape>

布局 -

                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@drawable/signup_screen_input_field"
                android:layout_marginTop="20dp"
                android:orientation="horizontal">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text="UserName"
                    android:textColor="@android:color/black"/>

            <EditText
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:background="@android:color/transparent"
                    android:gravity="center"
                    android:hint="John Doe"
                    android:padding="5dp"
                    android:textColor="@android:color/white"
                    android:textColorHint="@android:color/white"/>

        </LinearLayout>

我的代码也很hacky,这不好。我正在努力实现的形象 - 在此处输入图像描述

标签: androidandroid-layoutuser-interfacetextviewandroid-edittext

解决方案


此视图应在您的 TextView 和 EditText 下绘制一条全宽线。

<View 
   android:layout_width="fill_parent"
   android:layout_height="1dp"       
   android:background="#00ffff" />

布局 XML 应如下所示

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="5dp"
            android:text="@string/username"
            android:textColor="@android:color/black" />

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:hint="@string/john_doe"
            android:padding="5dp"
            android:textColor="#ff0000"
            android:textColorHint="#ff0000" />

    </LinearLayout>

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#00ff00" />

</LinearLayout>

下面你可以看到它的样子,当然不要忘记改变颜色。

在此处输入图像描述


推荐阅读