android: gravity = "center" не работает на Samsung с большим размером шрифта - PullRequest
0 голосов
/ 02 июля 2018

У меня проблема с вертикальным выравниванием текста внутри кнопки, но только на устройствах Samsung. Проблема в том, что когда я захожу в настройки и устанавливаю максимальный размер шрифта (от нормального до огромного, чтобы размер изменялся во всех приложениях), текст больше не выравнивался должным образом, это больше похоже на то, что он привязан к нижней части кнопки. , Вот макет:

<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"/>

1 Ответ

0 голосов
/ 22 июля 2018

Хорошо, оказалось, что на некоторых устройствах, включая Samsung, заполнение шрифтов играет огромную роль и особенно заметно при использовании больших шрифтов. Поэтому, чтобы решить проблему, все, что мне нужно было сделать, это добавить эту строку в мой макет:

android:includeFontPadding="false"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...