在Android版面中使用带有标签的ViewStub

时间:2010-01-30 13:59:48

标签: android layout stub

我已阅读http://developer.android.com/resources/articles/layout-tricks-stubs.html,其中解释了如何将viewstub用作布局的延迟包含。

这在我所拥有的简单列表视图中工作正常,但当我尝试在实际的Tabbed布局中使用它时,一旦选项卡获得任何真实内容,它就会消失。

我已设置所有标签,并且标签主机使用wrap_content作为高度(以便不关闭存根)

有没有人使用带有标签视图的存根?有什么诀窍?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  <LinearLayout android:orientation="vertical"
   android:layout_width="fill_parent" android:layout_height="wrap_content">
   <TabWidget android:id="@android:id/tabs"
    android:layout_width="fill_parent" android:layout_height="wrap_content" />
   <FrameLayout android:id="@android:id/tabcontent"
    android:layout_width="fill_parent" android:layout_height="wrap_content">
    <ListView android:id="@+id/discqueue" android:layout_width="fill_parent"
     android:layout_height="wrap_content" />
    <ListView android:id="@+id/instantqueue"
     android:layout_width="fill_parent" android:layout_height="wrap_content" />
   </FrameLayout>
   <ViewStub android:id="@+id/stub_navigate"
    android:inflatedId="@+id/panel_navigate" android:layout="@layout/pagination_bar"

    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_gravity="bottom" />
  </LinearLayout>
 </TabHost>
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

想出来了!

他们在开发人员网站上没有提到的技巧是,对于列表/网格类型动态视图,您实际上想要将现有视图与任何存根合并,而不是将存根插入视图中,如此;

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">

<include android:id="@+id/cell3" layout="@layout/queue_man" android:layout_height="40dp" android:layout_gravity="bottom" />

    <ViewStub
        android:id="@+id/stub_navigation"
        android:inflatedId="@+id/panel_navigation"

        android:layout="@layout/pagination_bar"

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" />

</merge>

这当然会让蛋糕和甜甜圈的使用者陷入困境。