Gravity Center отказывается работать с текстом внутри кнопок, определенных в ConstraintLayout объекта Fragment - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь изменить гравитацию текста внутри кнопки. Знайте, что кнопка определяется внутри ConstraintLayout следующим образом:

<Button
        android:id="@+id/x"
        android:layout_width="0dp"
        android:layout_height = "0dp"
        app:layout_constraintHeight_max="300dp"
        app:layout_constraintHorizontal_weight="1"
        android:layout_margin="1dp"
        android:text="x"
        android:textColor="@color/greybackgroundd"
        style="@style/style13buttontext"
        android:onClick="EditorClicksModifiedForEditorLayout"
        android:background="@drawable/alternativecalcbuttonyellow"
        tools:ignore="MissingConstraints"
        />

Вот как определяются атрибуты стиля:

 <style name="style13buttontext">
    <item name="android:fontFamily">@font/dosis_extrabold</item>
    <item name="android:textSize">13sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textAllCaps">false</item>        
</style>

Также имейте в виду, что я использую поток помощник для организации кнопок в ConstraintLayout, который служит макетом для объекта Fragment, который я создаю в коде.

Итак, этот макет надувается внутри объекта Fragment onCreateView. Я пытался изменить гравитацию текста, но он всегда отображается по центру в верхней части кнопки.

Странное поведение заключается в том, что, скажем, макет фрагмента отображается на экране, на экране Facebook появляется пузырь чата, макет организуется, и волшебным образом все кнопки отображают текст по центру.

Внутри метода onAttach объекта Fragment я беру кнопки и изменяю свойства текста кнопки, такие как цвет текста, и устанавливаю singleLine = true. Все эти изменения работают, но тот, который никогда не работает, центрирует текст.

Я пытался:

button.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICALLY); //no working
button.setGravity(Gravity.CENTER); //no working

Странное поведение в том, что когда я использую button.setGravity (Gravity.CENTER_VERTICALLY ) он помещает текст в начало и верхнюю позицию кнопки.

Любые идеи или предложения

Спасибо

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