Android 如何使用多个片段实现滑动选项卡导航

Android 如何使用多个片段实现滑动选项卡导航,android,material-design,pagerslidingtabstrip,Android,Material Design,Pagerslidingtabstrip,我想为我的应用程序添加一些适当的导航。我有两个片段,我想制作一个标题条(类似于Play Newstand或Play Store中的材质设计),在两个片段之间切换。我对ViewPager或PagerAdapter不是很了解。我也在尝试使用。我不知道从哪里开始。提前谢谢。实际上我自己做了一次。好的 首先,将库添加到build.gradle文件中的依赖项中 dependencies { compile 'com.jpardogo.materialtabstrip:library:1.0.6'

我想为我的应用程序添加一些适当的导航。我有两个片段,我想制作一个标题条(类似于Play Newstand或Play Store中的材质设计),在两个片段之间切换。我对
ViewPager
PagerAdapter
不是很了解。我也在尝试使用。我不知道从哪里开始。提前谢谢。

实际上我自己做了一次。好的

首先,将库添加到build.gradle文件中的依赖项中

dependencies {
    compile 'com.jpardogo.materialtabstrip:library:1.0.6'
}
这就是我的活动\u main.xml的样子。我从支持库中添加了
PagerSlidingTabStrip
(通过我自己的自定义,请参阅以了解更多信息)和我的
ViewPager

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame"
android:fitsSystemWindows="true" >

<include layout="@layout/toolbar" />

<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="#33B5E5"
    android:textColor="#FFFFFF"
    app:pstsIndicatorColor="#FFFFFF"
    app:pstsPaddingMiddle="true" />

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
最后是
FragmentPagerAdapter
类,也在MainActivity.java中。注意
片段getItem()
方法;这就是我使用标签的位置在片段之间切换的地方

class PagerAdapter extends FragmentPagerAdapter {

private final String[] TITLES = {"Regular Tenses", "Perfect Tenses"};

public PagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public CharSequence getPageTitle(int position) {
    return TITLES[position];
}

@Override
public int getCount() {
    return TITLES.length;
}

@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0:
            return new MainFragment();
        case 1:
            return new PerfectFragment();
    }

    return null;
   }
}

如果你的应用程序有一个ActionBar,你可以使用
设置导航模式(导航模式选项卡)
。在添加导航标签子标题下有一个代码片段示例和说明。
使用ActionBar可切换标签。

我还没有尝试过任何东西。。。我不知道从哪里开始。对于API 21,方法setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)已被弃用。thks,你知道建议的替代方法是什么吗?最后尝试了一下,我真的不喜欢太多:太多元素同时移动,在我看来,选定的标题通常局限于版面的边缘。实际上,我在使用分页选项卡条方面是新手,我一直在使用工具栏进行材料设计。库
PagerSlidingTabStrip
是否使用工具栏为您工作?@Dory库与支持库中的工具栏完美配合。我可以在一个片段中实现所有这些吗?@Mike我不明白为什么不!
class PagerAdapter extends FragmentPagerAdapter {

private final String[] TITLES = {"Regular Tenses", "Perfect Tenses"};

public PagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public CharSequence getPageTitle(int position) {
    return TITLES[position];
}

@Override
public int getCount() {
    return TITLES.length;
}

@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0:
            return new MainFragment();
        case 1:
            return new PerfectFragment();
    }

    return null;
   }
}