[英]How to implement sliding tab navigation with multiple fragments
我实际上曾经做过一次。 好的。
首先,将库添加到build.gradle文件中的依赖项中。
dependencies {
compile 'com.jpardogo.materialtabstrip:library:1.0.6'
}
这就是我的activity_main.xml的样子。 我添加了PagerSlidingTabStrip
(我自己的自定义,请参阅Github repo了解更多信息)和我的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" />
接下来,我在MainActivity.java的onCreate()
方法中执行了以下步骤:
// Initialize the ViewPager and set an adapter
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(new PagerAdapter(getSupportFragmentManager()));
// Bind the tabs to the ViewPager
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setViewPager(pager);
最后, FragmentPagerAdapter
类,也在MainActivity.java中 。 注意Fragment 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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.