简体   繁体   中英

How to remove bottom padding from TextInputLayout

The first picture is what I want. The second picture is what I have implemented. As you can see, there is a padding to the bottom of the TextInputLayout which makes the gray background overflow past edittext line.

Please do not suggest negative margin or padding as it does not work in newer APIs.

Here is the XML I have for the first text input layout.

<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

You can using android:layout_marginBottom="-xdp" in your 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"/>

value of x depend on your design.

hope this helps

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

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

Maybe add a 2dp line below the EditText

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

You can change the color and the width later

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM