如何从TextInputLayout

时间:2018-06-14 08:40:27

标签: java android kotlin textinputlayout

第一张照片是我想要的。第二张图是我实施的。 正如您所看到的,TextInputLayout底部有一个填充,使灰色背景溢出文本行。

请不要建议使用负边距或填充,因为它在较新的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>

Picture 1 Picture2

4 个答案:

答案 0 :(得分:2)

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

 <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的值取决于您的设计。

希望这会有所帮助

答案 1 :(得分:2)

 <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>

答案 2 :(得分:0)

可能会在2dp line

下面添加EditText
<View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black" />

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

答案 3 :(得分:0)

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