5

第一张图就是我想要的。第二张图是我实现的。如您所见,TextInputLayout 底部有一个填充,这使得灰色背景溢出edittext 行。

请不要建议负边距或填充,因为它在较新的 API 中不起作用。

这是我用于第一个文本输入布局的 XML。

<android.support.design.widget.TextInputLayout
    android:id="@+id/fullNameTextLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="32dp"
    android:paddingTop="10dp"
    android:background="#EAEAEA"
    android:hint="Full Name"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <EditText
        android:id="@+id/fullNameEditText"
        style="@style/Regular15Grey1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textCapWords"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:singleLine="true"/>
</android.support.design.widget.TextInputLayout>

图片1 图2

4

4 回答 4

3
 <android.support.design.widget.TextInputLayout
        android:id="@+id/fullNameTextLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="32dp"
        android:paddingTop="10dp"
        android:hint="Full Name"

        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <EditText
            android:id="@+id/fullNameEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textCapWords"
            android:text=""
            android:paddingBottom="16dp"
            android:paddingStart="8dp"
            android:paddingEnd="8dp"
            android:layout_marginBottom="-8dp"
            android:singleLine="true"/>
    </android.support.design.widget.TextInputLayout>
于 2018-06-14T09:18:07.437 回答
3

您可以android:layout_marginBottom="-xdp"在 EditText中使用

 <EditText
        android:id="@+id/fullNameEditText"
        style="@style/Regular15Grey1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textCapWords"
        android:paddingLeft="12dp"
        android:layout_marginBottom="-xdp"
        android:paddingRight="12dp"
        android:singleLine="true"/>

x 的值取决于您的设计。

希望这可以帮助

于 2018-06-14T08:46:18.817 回答
1

我发现填充实际上是错误文本的空间,如果您禁用错误(例如在布局 XML 中app:errorEnabled="false"),填充更接近您的预期。

于 2021-04-19T10:33:07.557 回答
0

也许在2dp line下面添加一个EditText

<View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black" />

您可以稍后更改颜色和宽度

于 2018-06-14T08:46:28.170 回答