XML:
<android.support.design.widget.TabLayout android:id="@+id/mytab" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager>
Activity:
public class Fragment2 extends Fragment{ private View view; private TabLayout mytab; private ViewPager vp; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment2,null); mytab =(TabLayout) view.findViewById(R.id.mytab); vp = (ViewPager) view.findViewById(R.id.viewpager); initData(); return view; } private void initData() { List<Fragment> list = new ArrayList<>(); list.add(new OneFragment()); list.add(new OneFragment()); list.add(new OneFragment()); list.add(new OneFragment()); list.add(new OneFragment()); list.add(new OneFragment()); MyFragmentAdapter myFragmentAdapter = new MyFragmentAdapter(getFragmentManager()); myFragmentAdapter.setFragment(list); vp.setAdapter(myFragmentAdapter); for (int i = 0;i<5;i++){ mytab.addTab(mytab.newTab()); } mytab.setupWithViewPager(vp); mytab.getTabAt(0).setText("本地"); mytab.getTabAt(1).setText("生活"); mytab.getTabAt(2).setText("新闻"); mytab.getTabAt(3).setText("娱乐"); mytab.getTabAt(4).setText("游戏"); mytab.getTabAt(5).setText("北京"); mytab.setTabMode(TabLayout.MODE_SCROLLABLE); } }
创建一个FragmentAdapter类:
public class MyFragmentAdapter extends FragmentPagerAdapter{ public MyFragmentAdapter(FragmentManager fm) { super(fm); } List<Fragment> lists; public void setFragment(List<Fragment> list){ lists = list; } @Override public Fragment getItem(int position) { return lists.get(position); } @Override public int getCount() { return lists.size(); } }