本文共 2639 字,大约阅读时间需要 8 分钟。
1.容器:ViewPager
2.数据:ArrayList<Fragment ArrayList<String 标题 3.适配器:FragmentViewPager 4.TabLayout:需要导入依赖重写的方法:
(1)getCount():返回数据源的总数量 (2)getItem(): (3)getPageTitle():返回标题
(1)导入依赖:implementation 'com.android.support:design:27.0.0’或者
implementation ‘com.android.support:design:28.0.0’ (2)布局activity_main.xml:ViewPager+TabLayout(3)Java代码:MainActivity.java
public class MainActivity extends AppCompatActivity { //视图 private ViewPager vp; private TabLayout tb; //数据 private ArrayListfragment_list=new ArrayList<>(); private ArrayList title_list=new ArrayList<>();//标题 //适配器 private MyFragmentPagerAdapter myFragmentPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); initview(); initdata(); initadpater(); //TODO tablayout和viewpager联系在一起 tb.setupWithViewPager(vp); } private void initadpater() { myFragmentPagerAdapter=new MyFragmentPagerAdapter(getSupportFragmentManager(),fragment_list,title_list); vp.setAdapter(myFragmentPagerAdapter); } private void initdata() { fragment_list.add(new Fragment1()); fragment_list.add(new Fragment2()); fragment_list.add(new Fragment3()); fragment_list.add(new Fragment4()); title_list.add("我的"); title_list.add("新闻"); title_list.add("最热"); title_list.add("最强"); } private void initview() { vp=findViewById(R.id.vp); tb=findViewById(R.id.tb); }}
(4)适配器代码:MyFragmentPagerAdapter.java
public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private ArrayListfragment_list; private ArrayList title_list; public MyFragmentPagerAdapter(FragmentManager fm, ArrayList fragment_list,ArrayList titile_list) { super(fm); this.fragment_list=fragment_list; this.title_list=titile_list; } @Override public Fragment getItem(int i) { return fragment_list.get(i); } @Override public int getCount() { return fragment_list.size(); } //TODO 返回对应的标题 @Nullable @Override public CharSequence getPageTitle(int position) { return title_list.get(position); }}
源代码:
转载地址:http://vwktn.baihongyu.com/