android - android:gravity="center" 不适用于大字体的三星
问题描述
我一直遇到按钮内文本的垂直对齐问题,但仅限于三星设备。问题是,当我进入设置并设置最大字体大小(从正常到大,因此所有应用程序的大小都会发生变化)时,文本不再正确对齐,更像是锚定在按钮的底部. 这是布局:
<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"
推荐阅读
- javascript - 如何运行一次事件函数
- android - 如何解决CameraX闪屏问题
- tensorflow - 使用 tensorlow 保存 keras 模型时出现“TypeError:不支持的可调用”
- pandas - 如何通过将许多数据框附加在一起来创建主数据框?
- javascript - Gtag 未定义
- r - 在 R 中,如何自动检测首次出现非标准时差的位置?
- c++ - 循环内的变量被设置为下一个数组的元素是否始终具有相同的内存地址?
- javascript - 如何在 cypress 中将 csv 转换为 JSON
- javascript - 如何使 Jest spOn 第二次调用函数
- html - 具有不同高度的内联块元素内的间隙