android:gravity="center" 不适用于大字体的三星
android:gravity="center" not working on Samsung with big font size
我一直对按钮内文本的垂直对齐有疑问,但仅限于三星设备。问题是,当我进入设置并设置最大字体大小时(从正常到巨大,所以所有应用程序的大小都会发生变化)文本不再正确对齐,它更像是锚定在按钮的底部.这是布局:
<Button
android:id="@+id/btn"
android:layout_width="0dp"
android:layout_height="0dp"
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"/>
好吧,事实证明,在包括三星在内的某些设备上,字体填充起着巨大的作用,并且在使用大字体时尤其明显。所以为了解决这个问题,我所要做的就是将这一行添加到我的布局中:
android:includeFontPadding="false"
我一直对按钮内文本的垂直对齐有疑问,但仅限于三星设备。问题是,当我进入设置并设置最大字体大小时(从正常到巨大,所以所有应用程序的大小都会发生变化)文本不再正确对齐,它更像是锚定在按钮的底部.这是布局:
<Button
android:id="@+id/btn"
android:layout_width="0dp"
android:layout_height="0dp"
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"/>
好吧,事实证明,在包括三星在内的某些设备上,字体填充起着巨大的作用,并且在使用大字体时尤其明显。所以为了解决这个问题,我所要做的就是将这一行添加到我的布局中:
android:includeFontPadding="false"