TabLayou 与viewpager的结合

来源:互联网 发布:在淘宝买护肤品靠谱吗 编辑:程序博客网 时间:2024/05/18 01:10
public class IndexFragment extends BaseFragment {


    private TabLayout tabLayout;
    private ViewPager viewPager;


    //存放所有标签信息的集合列表
    private List<TabModel> list;
    private View v;


    @Override
    public View getFragmentView(LayoutInflater inflater, ViewGroup container) {
        v = inflater.inflate(R.layout.index,container,false);
        return v;
    }


    @Override
    public void initView() {
        tabLayout = v.findViewById(R.id.mytab);
        viewPager = v.findViewById(R.id.vp);
    }


    @Override
    public void initData() {
        list=new ArrayList<>();
        list.add(new TabModel("数据新闻","xbsjxw"));
        list.add(new TabModel("快讯","txs"));
        list.add(new TabModel("头条","toutiao"));
        list.add(new TabModel("精编公告","news/mobile/jbgg"));
        list.add(new TabModel("美股","news/mobile/mgxw"));
        list.add(new TabModel("港股","news/mobile/ggxw"));
        list.add(new TabModel("基金","news/mobile/jjxw"));
        list.add(new TabModel("理财","news/mobile/lcxw"));




        //设置适配器
        viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));//注意:在子fragment中,使用。。getChildFragmentManager


        //tablayout与vp进行关联
        tabLayout.setupWithViewPager(viewPager);


        //一次性加载完
        viewPager.setOffscreenPageLimit(list.size());
    }


    @Override
    public void setListener() {


    }


    class MyAdapter extends FragmentPagerAdapter{
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }


        @Override
        public CharSequence getPageTitle(int position) {
            return list.get(position).getTitle();//返回title信息
        }


        @Override
        public Fragment getItem(int position) {
            ContentFragment fragment=new ContentFragment();
            //传递type
            Bundle bundle=new Bundle();
            bundle.putString("type",list.get(position).getType());
            fragment.setArguments(bundle);


            return fragment;
        }


        @Override
        public int getCount() {
            return list.size();
        }
    }

}



<android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabGravity="center"
        app:tabIndicatorColor="@color/colorAccent"
        app:tabMode="scrollable"
        app:tabSelectedTextColor="@color/colorPrimaryDark"
        app:tabTextColor="@color/colorPrimary"
        android:id="@+id/mytab"></android.support.design.widget.TabLayout>


    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/vp"
        android:layout_below="@+id/mytab"></android.support.v4.view.ViewPager>


原创粉丝点击