使用ViewPager和导航抽屉的操作栏选项卡

10 android android-fragments android-actionbar navigation-drawer

要求: - 使用ViewPager和导航抽屉的操作栏选项卡.

我可以创建一个导航抽屉示例

http://www.omgubuntu.co.uk/wp-content/uploads/2013/07/sidebar.jpg

操作栏分别使用ViewPager选项卡.

http://developer.android.com/design/media/action_bar_pattern_considerations.png

但当我尝试同时使用两者时,我遇到了问题.

我可以使用片段创建导航抽屉,使用片段创建操作栏标签.但这两个例子的初始活动是片段活动.

如何在作为导航抽屉一部分的片段上实现操作栏选项卡?

jia*_*hao 8

使用操作栏选项卡的问题是当抽屉出现时,它将显示在选项卡下,因为选项卡是actionBar的一部分.

我尝试过使用tabHost而且效果更好.

你在这里得到源代码:https: //github.com/jiahaoliuliu/DrawerWithTabsAndViewPager

以下是对它的一点解释:

  1. 第一层有一个抽屉,来自v4支持库
  2. 在抽屉里面,第一个元素是tabHost,我已经将内容的宽度和高度设置为0.
  3. 在tabhost下,有viewpager.

一旦创建了所有内容,我所做的就是为tabhost创建一个监听器,为viewPager创建另一个监听器,因此当用户单击任何选项卡时,视图寻呼机将设置当前项,反之亦然.

享受编码!


jag*_*han 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>
Run Code Online (Sandbox Code Playgroud)

将您的FragmentPagerAdapter写在APPTabsAdapter中.

这就是我在其中一个项目中构建它的方式.

如果需要,您可以尝试寻求帮助.

要么

你可以从这个GitHub回购中获得帮助.

谢谢.