TabLayout的简单使用

1.导入所需的依赖

implementation 'com.android.support:design:28+'

2.activity_main.xml中布局`
上面的是TabLayout控件–下面是ViewPager

<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/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v4.view.ViewPager>

3.在MainActivity.java中查找到两个控件

//查找控件
        tablayout = (TabLayout)findViewById( R.id.tablayout );
        pager = (ViewPager)findViewById( R.id.pager );

4.在最上面定义两个集合–fragmentlist 和titlelist

    //fragment集合
    ArrayList<Fragment> fragmentlist = new ArrayList<>();
    //标题的集合
    ArrayList<String> titlelist = new ArrayList<>();

5.调用initData( ) 用来生成标题和fragment

       //查找控件
        tablayout = (TabLayout)findViewById( R.id.tablayout );
        pager = (ViewPager)findViewById( R.id.pager );
        //标题和fragment
        initData();
        -----具体方法如下-----
	//标题和fragment
	    private void initData(){
	        for (int i = 1; i < 5; i++) {
	            titlelist.add( "八维第"+i+"校区" );
	            fragmentlist.add( new BlankFragment() );
	        }
	    }

6.给pager设置适配器

//设置适配器
        MyPageAdapter adapter = new MyPageAdapter( getSupportFragmentManager() );
        pager.setAdapter( adapter );

//适配器-MyPageAdapter
    private class MyPageAdapter extends FragmentPagerAdapter{
        public MyPageAdapter(FragmentManager fm) {
            super( fm );
        }

        @Override
        public Fragment getItem(int i) {
            return fragmentlist.get( i );
        }

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

        //当前页面的标题
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return titlelist.get( position );
        }
    }//适配器

7.把tablayout和pager关联起来

		//设置适配器
        MyPageAdapter adapter = new MyPageAdapter( getSupportFragmentManager() );
        pager.setAdapter( adapter );
        //把tablayout和pager关联起来
        tablayout.setupWithViewPager( pager );

8.创建一个BlankFragment.java文件

public class BlankFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        TextView textView = new TextView( getActivity() );
        //Bundle bundle = getArguments();
        double random = Math.random();
        textView.setText( "今天中彩票的几率为:"+random );
        return textView;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_25560357/article/details/84956540
今日推荐