Android 带TabLayout的ViewPager
示例
TabLayout可以使用A来简化导航。
您可以使用方法为适配器中的每个片段设置选项卡,但是此任务还有另一个更方便,更轻松的方法。TabLayout.newTab()TabLayout.setupWithViewPager()
ViewPager每次调用该方法时,都会根据与您关联的适配器的内容创建和删除选项卡来进行同步。
而且,它将设置一个回调,因此,每次用户翻动页面时,都会选择相应的选项卡。
只需定义一个布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:tabMode="scrollable" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" />
</LinearLayout>
然后实施FragmentPagerAdapter并将其应用于ViewPager:
public class MyViewPagerActivity extends AppCompatActivity {private static final String TAG = MyViewPagerActivity.class.getName();
private MyPagerAdapter mFragmentAdapter;
private ViewPager mViewPager;
private TabLayout mTabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myActivityLayout);
// 获取ViewPager并应用PagerAdapter
mFragmentAdapter = new MyPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(mFragmentAdapter);
// 将tabLayout和viewpager链接在一起
mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
mTabLayout.setupWithViewPager(mViewPager);
}
private class MyPagerAdapter extends FragmentPagerAdapter{
public MyPagerAdapter(FragmentManager supportFragmentManager) {
super(supportFragmentManager);
}
// 返回要为该页面显示的片段
@Override
public Fragment getItem(int position) {
switch(position) {
case 0:
return new Fragment1();
case 1:
return new Fragment2();
case 2:
return new Fragment3();
default:
return null;
}
}
// 将显示为标签的标签
@Override
public CharSequence getPageTitle(int position) {
switch(position) {
case 0:
return "Fragment 1 title";
case 1:
return "Fragment 2 title";
case 2:
return "Fragment 3 title";
default:
return null;
}
}
// 返回总页数
@Override
public int getCount() {
return 3;
}
}
}
以上是 Android 带TabLayout的ViewPager 的全部内容, 来源链接: utcz.com/z/334549.html