首页TabLayout加Viewpager布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <android.support.design.widget.TabLayout
        android:id="@+id/sy_tablayout"
        android:layout_width="match_parent"
        android:layout_height="40dp"></android.support.design.widget.TabLayout>


    <android.support.v4.view.ViewPager
        android:id="@+id/sy_viewpager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"></android.support.v4.view.ViewPager>


</LinearLayout>




             首页里面的  java代码
public class ShouYeFragment extends Fragment {
  private View view;
  private TabLayout tabLayout;
  private ViewPager viewPager;
  private List<Fragment> fs1 = new ArrayList<>();
    private static final String TAG = "ShouYeFragment";
  @Nullable
  @Override
  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
       view = inflater.inflate(R.layout.sy_layout, null);
       //初始化页面
        initViews();
        return view;
   }




   private void initViews() {
        tabLayout = view.findViewById(R.id.sy_tablayout);
        viewPager = view.findViewById(R.id.sy_viewpager);
    }
//0
   @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
       super.onActivityCreated(savedInstanceState);
       //viewPager里面添加Fragment


       fs1.clear();


       Fragment f1 =new AndroidFragment();
        Fragment f2 = new IOSFragment();
        Fragment f3 = new FuLiFragment();
        fs1.add(f1);
       fs1.add(f2);
       fs1.add(f3);
        //设置适配器
        MyFragmentAdapter2 adapter = new MyFragmentAdapter2(getChildFragmentManager(), fs1);
       Log.d(TAG, "onActivityCreated: "+fs1+"11111111"+adapter);
       viewPager.setAdapter(adapter);
        //设置下划线颜色
        tabLayout.setSelectedTabIndicatorColor(Color.RED);
        //添加选项卡
        TabLayout.Tab tab1 = tabLayout.newTab();
        tab1.setText("Android");
        tabLayout.addTab(tab1);


        TabLayout.Tab tab2 = tabLayout.newTab();
        tab2.setText("IOS");


       tabLayout.addTab(tab2);
//
        TabLayout.Tab tab3 = tabLayout.newTab();
        tab3.setText("福利");


        tabLayout.addTab(tab3);
//
//        //将ViewPger关联到TabLayout
//
      tabLayout.setupWithViewPager(viewPager);
//    }
//
//    //当可见时。。。。
//    @Override
//    public void setUserVisibleHint(boolean isVisibleToUser) {
//        super.setUserVisibleHint(isVisibleToUser);
//
//
   }

}



MyFragmentAdapter2  适配器


public class MyFragmentAdapter2 extends FragmentPagerAdapter {
    private List<Fragment> list;
    private static final String TAG = "MyFragmentAdapter2====";


    public MyFragmentAdapter2(FragmentManager fm, List<Fragment> list) {
        super(fm);
        this.list = list;
    }


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


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






    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return list.get(position).getArguments().getString("title");
    }




}

猜你喜欢

转载自blog.csdn.net/qq_41637459/article/details/80471112