TabLayout滑动

来源:互联网 发布:小米电视 直播软件 编辑:程序博客网 时间:2024/06/07 15:42

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();    }}