如何在 android 应用程序中正确对齐自定义字体
How to proper align custom font in an android app
我正在尝试在我的 android 移动应用程序中使用 google 字体。我注意到当我使用自定义字体时,元素(EditText、Button)的中心对齐在底部有更大的 space。尝试了 lineSpacingMultiplier
和 lineSpacingExtra
但它不起作用。如果我改回默认的 Roboto 字体,它就可以正常工作。
<EditText
android:id="@+id/input_phone"
android:layout_width="300sp"
android:layout_height="60sp"
android:layout_marginTop="296dp"
android:autofillHints="@string/label_phone"
android:background="@drawable/custom_input"
android:hint="@string/label_phone"
android:inputType="phone"
android:maxLength="11"
android:textAlignment="center"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="LabelFor" />
// custom_input
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:color="@color/colorSecondary"
android:width="2sp" />
<corners android:radius="10sp" />
<padding
android:bottom="10sp"
android:left="10sp"
android:right="10sp"
android:top="10sp" />
</shape>
我怀疑是字体的问题,但我需要把字体输入大一点,所以我指定了。
经过进一步研究,这解决了我的问题,
android:includeFontPadding="false"
参考:Android: TextView: Remove spacing and padding on top and bottom
我正在尝试在我的 android 移动应用程序中使用 google 字体。我注意到当我使用自定义字体时,元素(EditText、Button)的中心对齐在底部有更大的 space。尝试了 lineSpacingMultiplier
和 lineSpacingExtra
但它不起作用。如果我改回默认的 Roboto 字体,它就可以正常工作。
<EditText
android:id="@+id/input_phone"
android:layout_width="300sp"
android:layout_height="60sp"
android:layout_marginTop="296dp"
android:autofillHints="@string/label_phone"
android:background="@drawable/custom_input"
android:hint="@string/label_phone"
android:inputType="phone"
android:maxLength="11"
android:textAlignment="center"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="LabelFor" />
// custom_input
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:color="@color/colorSecondary"
android:width="2sp" />
<corners android:radius="10sp" />
<padding
android:bottom="10sp"
android:left="10sp"
android:right="10sp"
android:top="10sp" />
</shape>
我怀疑是字体的问题,但我需要把字体输入大一点,所以我指定了。
经过进一步研究,这解决了我的问题,
android:includeFontPadding="false"
参考:Android: TextView: Remove spacing and padding on top and bottom