如何减少文本提示和文本行之间的填充?

时间:2019-08-31 16:17:50

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

我有一个显示提示的TextInputEditText。我真的不喜欢提示和文本行之间的空白。我尝试将重力设置为最低,但没有运气。

       <com.google.android.material.textfield.TextInputEditText
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:background="@android:color/white"
                    android:inputType="textNoSuggestions"
                    android:hint="@string/email_hint"
                    android:textColorHint="@color/color_hint_grey"
                    android:fontFamily="@font/alternate_got_no1d"
                    android:textSize="20sp"/>

enter image description here

2 个答案:

答案 0 :(得分:1)

为了减小文本框的高度,您可以使用https://colab.research.google.com/drive/1PpqNj3aNYF1mQ9-AZvbqkUEFsADATuJR,这将减少文本框内的垂直填充

<com.google.android.material.textfield.TextInputLayout
       ....
       android:hint="Hint text"       
       style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense" >

否则,您可以使用以下方法定义(要求版本1.1.0)自定义样式:

  <style name="MyDense" parent="Widget.MaterialComponents.TextInputLayout.FilledBox.Dense">
    <item name="materialThemeOverlay">@style/MyThemeOverlayFilledDense</item>
  </style>

  <style name="MyThemeOverlayFilledDense">
    <item name="editTextStyle">@style/MyTextInputEditText_filledBox_dense</item>
  </style>

  <style name="MyTextInputEditText_filledBox_dense" parent="@style/Widget.MaterialComponents.TextInputEditText.FilledBox.Dense">
    <item name="android:paddingTop">24dp</item>
    <item name="android:paddingBottom">4dp</item>
  </style>

这里是结果(具有默认样式和自定义样式):

dense style enter image description here

答案 1 :(得分:0)

将此添加到您的 com.google.android.material.textfield.TextInputEditText

boot_disk {
    initialize_params {
      image = "<image name>"
    }
  }