центрировать мой текст не только по горизонтали, но и по вертикали в области редактирования макета ограничения

В ConstraintLayout у меня есть TextView, я установил выравнивание для выравнивания center в панели редактора макета:

введите здесь описание изображения

Я щелкнул средний на скриншоте выше.

Тогда мой текст выглядит так:

введите здесь описание изображения

Он центрирован по горизонтали, но не по вертикали, и в панели редактора ConstraintLayout я просто не могу найти кнопку для вертикального центрирования моего текста.

Как вертикально и горизонтально центрировать мой текст в панели редактора ConstraintLayout?


person Leem    schedule 12.12.2017    source источник
comment
разместите свое релевантное изображение кода   -  person Raja    schedule 12.12.2017
comment
опубликуйте свой xml-код   -  person Dharmishtha    schedule 12.12.2017
comment
попробуйте установить `android:gravity=center_vertical` в свойстве TextView в файле xml.   -  person Dharmishtha    schedule 12.12.2017


Ответы (3)


Вместо textAlignment можно использовать атрибут gravity:

android:gravity="center"

XML источники вашего TextView будут такими:

<TextView
    android:id="@+id/textView"
    android:layout_width="174dp"
    android:layout_height="64dp"
    android:gravity="center"
    android:text="TextView"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

Также вы можете найти этот атрибут в представлении Design:

введите здесь описание изображения

Это решит вашу проблему.

person Alexey Denysenko    schedule 12.12.2017
comment
Спасибо, именно то, что я ожидал. Я не знал, что в панели редактирования можно установить больше атрибутов. - person Leem; 12.12.2017

Что вы сделали прямо здесь, так это выровняли текст внутри TextView как по горизонтали, так и по вертикали.

Вы можете проверить это, установив фон TextView в какой-либо цвет.

Теперь, если вы хотите вертикально центрировать TextView с родительской ViewGroup, которая в данном случае является ConstraintLayout, вы можете сделать

app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

Что это делает, так это то, что все стороны присоединены ко всем четырем сторонам родителя.

person capt.swag    schedule 12.12.2017

Поместите код следующим образом:

<TextView
    android:id="@+id/stat_1"
    android:layout_width="80dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:gravity="center"
    android:maxLines="1"
    android:text="10"
    android:textColor="#777"
    android:textSize="22sp"
    app:layout_constraintTop_toTopOf="@+id/stat_2"
    app:layout_constraintEnd_toStartOf="@+id/divider_1" />
person InsaneCat    schedule 12.12.2017