Я пытаюсь изменить гравитацию текста внутри кнопки. Знайте, что кнопка определяется внутри 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 ) он помещает текст в начало и верхнюю позицию кнопки.
Любые идеи или предложения
Спасибо