tablayout的使用

使用tablayout+viewpage+fragment实现滑动页面,参考原文:
http://blog.csdn.net/chenguang79/article/details/48804125

1. 布局文件中添加控件

开始之前之前要先添加依赖库

compile 'com.android.support:design:25.0.0'

添加控件

<android.support.design.widget.TabLayout
        android:id="@+id/tablayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.design.widget.TabLayout>
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpage"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/tablayout"/>

关于tablayout的详细属性可以看这篇文章http://www.jianshu.com/p/2b2bb6be83a8

2. viewpage适配器

可以直接用

public class FragmentViewPageAdapter extends FragmentPagerAdapter {
    private List<Fragment> list_fragment;                         //fragment列表
    private List<String> list_Title;

    public FragmentViewPageAdapter(FragmentManager fm, List<Fragment> list_fragment, List<String> list_Title) {
        super(fm);
        this.list_fragment = list_fragment;
        this.list_Title = list_Title;
    }

    @Override
    public Fragment getItem(int position) {
        return list_fragment.get(position);
    }

    @Override
    public int getCount() {
        return list_Title.size();
    }
    //此方法用来显示tab上的名字
    @Override
    public CharSequence getPageTitle(int position) {

        return list_Title.get(position % list_Title.size());
    }
}

3. fragment

这里使用newInstance传递参数进行初始化。

public static class MyFragment extends Fragment{
        private String text;
        public static MyFragment newInstance(String text) {

            Bundle args = new Bundle();

            MyFragment fragment = new MyFragment();
            fragment.text=text;
            fragment.setArguments(args);
            return fragment;
        }
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_layout,container,false);
            TextView textView= (TextView) view.findViewById(R.id.fragment_text);
            textView.setText(text);
            return view;

        }
    }

4. 初始化数据并设置适配器

mTabLayout= (TabLayout) findViewById(R.id.tablayout);
        mViewPager= (ViewPager) findViewById(R.id.viewpage);
        List<String> stringList=new ArrayList<>();
        stringList.add("page1");
        stringList.add("page2");
        stringList.add("page3");
        List<Fragment> fragmentList=new ArrayList<>();
        fragmentList.add(MyFragment.newInstance(stringList.get(0)));
        fragmentList.add(MyFragment.newInstance(stringList.get(1)));
        fragmentList.add(MyFragment.newInstance(stringList.get(2)));

        FragmentViewPageAdapter pageAdapter=new FragmentViewPageAdapter(getSupportFragmentManager(),fragmentList,stringList);
        mViewPager.setAdapter(pageAdapter);
        mTabLayout.setupWithViewPager(mViewPager);

显示效果:
效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值