Ответ 1
android:layout_centerHorizontal="true"
Как я могу поместить 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>
android:layout_centerHorizontal="true"
android:layout_centerHorizontal="true"
существует также
android:layout_centerInParent="true"
Полный список атрибутов RelativeLayout здесь
Также вы можете указать свой TextView для fill_parent, а затем установить на него гравитацию = центр. Таким образом, он будет центрировать фактический текст в textView.
Как более общий ответ на этот вопрос, layout_gravity
не работает с подзонами a RelativeLayout
. Он предназначен для использования с LinearLayout
или FrameLayout
. Тем не менее, subviews a RelativeLayout
может по-прежнему использовать gravity
, как обычно, потому что это то, как представление упорядочивает собственный контент.
См. сравнение на следующем изображении. Зеленые и синие точки - это TextViews внутри RelativeLayout
.
gravity
работает, но layout_gravity
нет. Подробнее см. мой более полный ответ.
См. также
android:layout_gravity="center_horizontal"
как атрибут в рассматриваемом TextView.
Вы можете перейти на вкладку графического макета в файле activity_main.XML и выбрать элемент, который вы хотите поместить, и изменить его с трех вкладок вверху. Или вы можете просто поместить это: android: layout_gravity = "center_horizontal".