RelativeLayout - 在另一个嵌套视图中引用id - 这可能吗?

时间:2012-07-15 16:38:26

标签: android relativelayout

是否有可能做到这样的事情,其中​​TV2相对于TV1,其中TV1和TV2位于布局的不同分支内?

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

    <RelativeLayout
        android:id="@+id/RV1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/TV01"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:text="test text" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/RV2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/RV1" >

        <TextView
            android:id="@+id/TV02"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_toRightOf="@+id/TV01"  <--------- this references TV01 within the top RelativeView !!!
            android:text="other text" />
    </RelativeLayout>

</RelativeLayout>

在此示例中,语句android:layout_toRightOf="@+id/TV01"似乎不起作用,因为TV01位于另一个RealtiveLayout分支中,而不是TV02

有没有办法以某种方式制作这样的参考?

非常感谢!

2 个答案:

答案 0 :(得分:3)

不,你不能像那样使用RelativeLayout定位。但是:

  • 您可以合并RV1RV2

  • 您可以将RV2置于RV1
  • 的右侧

答案 1 :(得分:1)

这是一个简化的例子吗?或者这是你的实际布局。如果是后者,你应该能够通过改变rel2来达到同样的效果:

<RelativeLayout
    android:id="@+id/RV2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/RV1"
    android:layout_toRightOf="@+id/RV1" >