RelativeLayout:不能使用layout_below链接到LinearLayout子项吗?

时间:2011-02-10 14:22:11

标签: android android-linearlayout relativelayout

我有一个RelativeLayout,它有一个LinearLayout作为包含TextViews的子项。

我想将ImageViews放在TextViews的右侧,并使用layout_alignRight =“@ id / userdetail_tv_special”,但不知怎的,这不起作用。

我不能将RelativeLayout的子项“链接”到LinearLayout的子级吗?任何想法如何在不为每个Button创建另一个RelativeLayout的情况下实现此目的?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
    <LinearLayout
        android:id="@+id/userdetail_lin_btncontainer"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_below="@id/userdetail_lin_divider" 
        android:padding="6dp" >
        <TextView
            android:id="@+id/userdetail_tv_special"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Special"
            android:background="#cccccc" />
        <!-- here are more TextViews like this one -->
    </LinearLayout>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/userdetail_tv_special"
        android:src="@drawable/ic_detail_special" />
        <!-- much more views and stuff -->
</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

对我而言,你不能更深入地指出“铺路”是合乎逻辑的:你可以将RelativeLayout的子项相互映射,但是LinearLayout是一个完整的视图,可以用作参考。

如果您希望能够相对于textview定位视图,请将它们作为relativelayout的直接子项放置。我不明白为什么顺便说一句你需要一个LinearLayout。

答案 1 :(得分:0)

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
  <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imgview"
    android:src="@drawable/ic_detail_special" />

<LinearLayout
    android:id="@+id/userdetail_lin_btncontainer"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_below="@id/userdetail_lin_divider" 
   android:layout_alignLeft="@id/imgview"
    android:padding="6dp" >
    <TextView
        android:id="@+id/userdetail_tv_special"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:text="Special"
        android:background="#cccccc" />
    <!-- here are more TextViews like this one -->
</LinearLayout>

      <!-- much more views and stuff -->