我已阅读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>
答案 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>
这当然会让蛋糕和甜甜圈的使用者陷入困境。