中心视图下方另一个视图

时间:2011-10-27 15:25:17

标签: android android-layout

我正在使用RelativeLayout来放置视图。现在我想再添加一个位于第一个View下方的View,并且应该以第一个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 个答案:

答案 0 :(得分:3)

这是一个老问题,但仍然没有答案,所以......

您可以以相同的方式对齐两个视图的开头和结尾。这将覆盖第二个的width属性,并将其作为第一个宽,但也将使用第一个移动它。如果要将第二个视图居中,可以使用重力或填充。第二种观点如此:

<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 :(得分:1)

    <?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>

答案 2 :(得分:0)

我也找了答案。我认为最好的选择是将它们放在LinearLayout中......我不确定,但我相信充斥大量布局是一个密集的过程,所以它可能不是最好的选择,但它是我唯一能想到的。