android:gravity="center" 不适用于大字体的三星

Posted

技术标签:

【中文标题】android:gravity="center" 不适用于大字体的三星【英文标题】:android:gravity="center" not working on Samsung with big font size 【发布时间】:2018-12-10 06:54:33 【问题描述】:

我一直遇到按钮内文本的垂直对齐问题,但仅限于三星设备。问题是,当我进入设置并设置最大字体大小(从正常到大,因此所有应用程序的大小都会发生变化)时,文本不再正确对齐,更像是锚定在按钮的底部.这是布局:

<Button
    android:id="@+id/btn"
    android:layout_
    android:layout_
    android:background="@drawable/phase_button_background"
    android:ellipsize="end"
    android:gravity="center"
    android:paddingEnd="@dimen/phase_button_padding"
    android:paddingLeft="@dimen/phase_button_padding"
    android:paddingRight="@dimen/phase_button_padding"
    android:paddingStart="@dimen/phase_button_padding"
    android:singleLine="true"
    android:textAllCaps="false"
    android:textColor="@color/phase_button_text_color"
    android:textSize="@dimen/phase_button_text_size"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintLeft_toRightOf="@+id/message"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toEndOf="@+id/message"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintWidth_default="wrap"
    tools:text="Some text here"
    tools:textColor="#d7000000"
    tools:textSize="18sp"
    tools:visibility="visible"/>

【问题讨论】:

【参考方案1】:

好吧,事实证明,在包括三星在内的某些设备上,字体填充起着巨大的作用,在使用大字体时尤其明显。所以为了解决这个问题,我所要做的就是将这一行添加到我的布局中:

android:includeFontPadding="false"

【讨论】:

以上是关于android:gravity="center" 不适用于大字体的三星的主要内容,如果未能解决你的问题,请参考以下文章

android:gravity="center" 不适用于大字体的三星

android textview 多行文字居中 不是gravity 也不是layout——gravity

andriod 文本居中: android:gravity="center"

android中怎么设置组件在LinearLayout中居中

如何使文本在 Android TextView 向右对齐

如何使文本在 Android TextView 向右对齐