要求: - 使用ViewPager和导航抽屉的操作栏选项卡。
我可以创建一个导航抽屉示例
操作栏分别使用ViewPager选项卡。
但是,当我尝试同时使用两者时,我遇到了问题。
我可以使用Fragment使用片段和Action Bar Tabs创建导航抽屉。但这两个例子的初始活动是片段活动。
如何在作为导航抽屉一部分的片段上实现操作栏标签?
答案 0 :(得分:8)
使用操作栏选项卡的问题是当抽屉出现时,它将显示在选项卡下,因为选项卡是actionBar的一部分。
我尝试过使用tabHost,效果更好。
您可以在此处获取源代码: https://github.com/jiahaoliuliu/DrawerWithTabsAndViewPager
以下是对它的一点解释:
一旦创建了所有内容,我所做的就是为tabhost创建一个监听器,为viewPager创建另一个监听器,所以当用户点击任何选项卡时,视图寻呼机将设置当前项,反之亦然。
享受编码!
答案 1 :(得分:6)
对主要活动使用以下布局。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffe6e1d4"
android:focusable="true"
android:focusableInTouchMode="true" />
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:listSelector="@drawable/drawer_list_selector"
android:background="@color/drawer_bg" />
</android.support.v4.widget.DrawerLayout>
将您的FragmentPagerAdapter编写为APPTabsAdapter中显示的内容。
这就是我在其中一个项目中构建它的方式。
如果需要,您可以尝试寻求帮助。
OR
您可以从GitHub Repo获得帮助。
感谢。
答案 2 :(得分:1)
正如您所注意到的那样,ActionBar标签在导航抽屉和此设计模式has been deprecated in API 21中无论如何都不能很好地发挥作用。
我使用Android开发人员SlidingTabs example中的类来实现此效果,而不必包含第三方库依赖项,并且对结果非常满意。还有video tutorial。