我有以下布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/list_item_bottom">

    <TextView android:id="@+id/list_item_name"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"/>

    <ViewStub android:id="@+id/stub_for_alt_name"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_below="@+id/list_item_name"
              android:layout="@layout/text_view_alt_name"/>

    <ImageView android:id="@+id/list_item_dopinfo1_image"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_below="@+id/stub_for_alt_name"
               android:src="@drawable/ic_released"/>

</RelativeLayout>

我希望ViewStub在TextView之下,而ImageView在ViewStub之下。

如我所料,显示了ViewStub膨胀的元素。
但是没有ViewStub的元素的TextView与ImageView重叠。

我的布局有什么问题?

更新:

我发现的唯一解决方案是为ViewStub和相关的TextView赋予相同的android:id值。

最佳答案

我知道这是一个古老的问题,但是其中的技巧是将inflatedId参数设置为与实际的viewStub本身相同,如下所示:

<ViewStub android:id="@+id/stub_for_alt_name"
          android:inflatedId="@id/stub_for_alt_name"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_below="@+id/list_item_name"
          android:layout="@layout/text_view_alt_name"/>

关于android - RelativeLayout和ViewStub膨胀,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13045531/

10-09 15:25