Android относительная проблема макета с гравитацией - PullRequest
31 голосов
/ 10 мая 2010

Как я могу поместить textview с id = "naslov" в центр? Я также попытался с layout_gravity = "center", но это тоже не работает.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView   
    android:id="@+id/naslov"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20dip"
    android:text="Povzetek"
    android:gravity="center"/>
   <TextView   
    android:id="@+id/aha"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="10dip"
    android:text="Vseh oddaj:"
       android:layout_below="@id/naslov"/>  
 </RelativeLayout> 

Ответы [ 5 ]

53 голосов
/ 04 июля 2012
 android:layout_centerHorizontal="true"
44 голосов
/ 10 мая 2010
 android:layout_centerHorizontal="true"

есть также

android:layout_centerInParent="true"

Полный список атрибутов RelativeLayout здесь

Также вы можете указать вашему TextView fill_parent, а затем установить гравитацию = центр на нем. Таким образом, он будет центрировать фактический текст в textView.

6 голосов
/ 10 февраля 2017

Дополнительный ответ

В качестве более общего ответа на этот вопрос, layout_gravity не работает с подпредставлениями RelativeLayout. Это для использования с LinearLayout или FrameLayout. Тем не менее, подпредставления RelativeLayout могут по-прежнему использовать gravity как обычно, потому что именно так представление организует свой собственный контент.

См. Сравнение на следующем изображении. Зеленый и синий представления являются TextViews внутри RelativeLayout.

enter image description here

gravity работает, но layout_gravity не работает. См. мой полный ответ для более подробной информации.

См. Также

0 голосов
/ 21 февраля 2018

Относительная компоновка не использует layout_gravity, однако значения гравитации используются следующими способами: центр, левый, левый | центр, правый | центр, правый, верхний, нижний.

<!-- below widget displaying text in left center -->
<TextView
           android:id="@+id/song_title"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:text="sample name text"
           android:gravity="left|center"
           android:textSize="15sp" />
0 голосов
/ 27 марта 2013

Вы можете перейти на вкладку графического макета в activity_main.XML и выбрать элемент, который хотите позиционировать, и изменить его на трех вкладках в верхней части. Или вы можете просто поставить это: android: layout_gravity = "center_hor Horizontal".

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