如何在 android 应用程序中正确对齐自定义字体

Posted

技术标签:

【中文标题】如何在 android 应用程序中正确对齐自定义字体【英文标题】:How to proper align custom font in an android app 【发布时间】:2020-12-05 16:48:36 【问题描述】:

我正在尝试在我的 android 移动应用程序中使用谷歌字体。我注意到当我使用自定义字体时,元素(EditText、Button)的中心对齐在底部有更大的空间。尝试了lineSpacingMultiplierlineSpacingExtra,但它不起作用。如果我改回默认的 Roboto 字体,它就可以正常工作。

<EditText
        android:id="@+id/input_phone"
        android:layout_
        android:layout_
        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: />
    <corners android:radius="10sp" />
    <padding
        android:bottom="10sp"
        android:left="10sp"
        android:right="10sp"
        android:top="10sp" />
</shape>

我怀疑它与字体有关,但我需要使字体输入更大,所以我指定了它。

【问题讨论】:

【参考方案1】:

经过进一步研究,这解决了我的问题,

android:includeFontPadding="false"

参考:Android: TextView: Remove spacing and padding on top and bottom

【讨论】:

以上是关于如何在 android 应用程序中正确对齐自定义字体的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中用“”替换我的自定义字符?

如何在 android 应用程序中正确对齐自定义字体

需要一些关于自定义字符表的帮助和提示

C++11 用户自定义字面值

css 自定义字体面

如何在android的textview中对齐文本并正确对齐