【问题标题】:Remove extra space/padding/margin while using TextInputLayout and TextInputEditText [duplicate]使用 TextInputLayout 和 TextInputEditText 时删除额外的空间/填充/边距 [重复]
【发布时间】:2020-02-11 18:31:56
【问题描述】:

我想删除下图所示的多余空间。

https://imgur.com/T5IzbKe

这是我的 xml:

 <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/sh_layout_mobile"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginTop="28dp"
        android:layout_marginEnd="20dp"
        android:background="@drawable/gradient_back"
        app:boxBackgroundMode="outline"
        app:hintEnabled="false"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView9">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:drawableEnd="@drawable/ic_phone"
            android:drawableTint="@color/white"
            android:drawableTintMode="multiply"
            android:drawingCacheQuality="high"
            android:fontFamily="@font/roboto"
            android:hint="@string/mobile_number"
            android:inputType="textPersonName"
            android:paddingRight="0dp"
            android:textColor="@color/white"
            android:textColorHighlight="@color/white"
            android:textColorHint="@color/white"
            android:textColorLink="@color/white"
            android:textSize="15dp" />

    </com.google.android.material.textfield.TextInputLayout>

我想要的只是最小化或完全删除顶部空间或边距或填充。我尝试了自己并调整了几个设置,但没有任何效果。

【问题讨论】:

    标签: android android-textinputlayout material-components material-components-android


    【解决方案1】:

    为您删除填充的editText制作样式

     <style name="styleTextInputEditText" parent="Base.Widget.MaterialComponents.TextInputEditText">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:paddingTop">0dp</item>
        <item name="android:paddingBottom">0dp</item>
        .....
    </style>
    

    并将其分配给您的 textInputLayout 编辑文本

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/yourId"
        style="@style/styleTextInput"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        ....>
    
        <com.google.android.material.textfield.TextInputEditText
            style="@style/styleTextInputEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            .... />
    </com.google.android.material.textfield.TextInputLayout>
    

    【讨论】:

    • 有效,但不正确。 TextInputEditText 样式应该继承自 Widget.MaterialComponents.TextInputEditText.*。还要检查重复的答案。您可以使用标准的密集样式
    猜你喜欢
    • 1970-01-01
    • 2017-09-18
    • 2011-12-07
    • 2016-07-24
    • 2014-05-15
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多