我有包含Fragment
的标签,我想提供向左和向左移动的滑动手势。我在Fragment
内部和活动内部使用它。我在ViewPager
包FragmentTabHost
内使用support.v4
(需要处理> = API 10)。问题是,寻呼机开始显示布局顶部的内容,tabhost首先显示选项卡,然后显示内容。当然我想要第二种行为。所以我看到的内容是两次,一次是标签,另一次没有。这是我的布局xml文件。请注意,我在tabhost (@+id/relative_header)
上方还有一些其他视图,因此操作栏选项卡不适合这种情况。我已经尝试将寻呼机移到realtabcontent
或更高的位置而没有运气。
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/relative_header" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
<FrameLayout
android:id="@+android:id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
我不确定,但我认为其中一个与另一个不兼容,但我不知道应该使用哪个组合来提供片段标签之间的滑动手势。关于我做错了什么的任何想法?
答案 0 :(得分:3)
好吧,我为任何人写这个答案将来会有同样的问题。我误解了每个布局的作用。 ViewPager
和TabHost
或多或少做同样的事情。要启用滑动手势,我应该使用ViewPager。为了向此添加标签,我使用了库PagerSlidingTabStrip,同样在2014年2月14日,似乎android团队为此发布了原生布局:PagerSlidingTabStrip。棘手的一点是tabhost具有相同布局的内容和选项卡,但它无法提供滑动手势。