Центр Вид ниже другого Вид - PullRequest
       0

Центр Вид ниже другого Вид

6 голосов
/ 27 октября 2011

Я использую RelativeLayout для размещения View. Теперь я хочу добавить еще один вид, который находится ниже первого вида и должен располагаться по центру относительно первого вида. Но, кажется, нет никакой опции, которая называется что-то вроде android: layout_alignCenter. Как мне решить эту задачу?

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
       android:layout_width="fill_parent" android:gravity="top">

            <TextView
        android:text="Blaa"
        android:id="@+id/TextView1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="100dp"
        android:gravity="center"
        />
            <TextView
        android:text="Foo"
        android:id="@+id/TextView2"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_below="@+id/TextView1"
            --- NEED STH THAT ALIGNS THIS SECOND VIEW CENTRAL UNDER THE FIRST VIEW --
        />
</RelativeLayout>

Ответы [ 3 ]

3 голосов
/ 18 декабря 2015

Это старый вопрос, но все еще без ответа, так что ...

Можно одновременно выровнять начало и конец обоих видов. Это переопределит свойство ширины второго и сделает его широким, как первое, но также переместит его вместе с первым. Если вы хотите центрировать второй вид, вы можете использовать гравитацию или заполнение. Второй вид выглядит так:

<TextView
    android:id="@+id/TextView2"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_below="@+id/TextView1"
    android:layout_alignLeft="@+id/TextView1"
    android:layout_alignRight="@+id/TextView1"
    android:gravity="center"
    android:text="Foo" />
1 голос
/ 18 декабря 2015
    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="top" >

    <TextView
        android:id="@+id/TextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="100dp"
        android:gravity="center"
        android:text="Blaa" />

    <RelativeLayout
        android:id="@+id/rel_main"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/TextView1"
        android:layout_alignRight="@+id/TextView1"
        android:layout_below="@+id/TextView1"
        android:gravity="center" >

        <TextView
            android:id="@+id/TextView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Foo" />
    </RelativeLayout>

</RelativeLayout>
0 голосов
/ 10 февраля 2014

Я тоже искал ответ. Я думаю, что лучший вариант - поместить их в LinearLayout. Я не уверен, но я верю, что раздувание многих макетов - это интенсивный процесс, поэтому, вероятно, это не лучший вариант, но это единственное, о чем я могу думать.

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