Tablayout+Viewpager+fragment实现联动效果

xiaoxiao2021-02-28  72

当前该类是viewpager和fragment的适配器 public class MyViewPagerAdapter extends FragmentPagerAdapter { //显示页卡标题的集合  private List<String> titleList; //viewpager上承载展示数据的fragmenet集合 private List<Fragment> fragmentList; public MyViewPagerAdapter(FragmentManager fm, List<String> titleList, List<Fragment> fragmentList) { super(fm); this.titleList = titleList; this.fragmentList = fragmentList; } //fragment的条目数 @Override public Fragment getItem(int position) { return fragmentList.get(position); } //fragment的个数 @Override public int getCount() { return fragmentList.size(); } //获取页卡标题内容 @Override public CharSequence getPageTitle(int position) { return titleList.get(position); } }

该类是引用viewpager和tablayout的类

public class MainActivity extends AppCompatActivity { //viewpager上承载展示数据的fragmenet集合private List<Fragment> fragmentList;//显示页卡标题的集合 private List<String> titleList; private ViewPager vp; private TabLayout tab; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);  initView(); initData(); } private void initData() {//初始化集合数据  fragmentList = new ArrayList<>(); titleList = new ArrayList<>(); String[] str = {"周一", "周二", "周三", "周四", "周五", "昨天","今天"}; for (int i = 0; i <6 ; i++) { titleList.add(str[i]); } for (int i = 0; i <titleList.size() ; i++) { //添加fragment到集合中 MyFragment myFragment = new MyFragment(); fragmentList.add(myFragment); }//设置适配器 vp.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager(),titleList,fragmentList));//viewpager和tablayout建立关联 tab.setupWithViewPager(vp); } private void initView() { vp = (ViewPager) findViewById(R.id.vp); tab = (TabLayout) findViewById(R.id.tab); }}

布局文件

注意:导入 compile 'com.android.support:design:24.2.1'依赖包

<android.support.design.widget.TabLayout         android:id="@+id/tabhot"         android:layout_width="match_parent"         android:layout_height="wrap_content"         app:tabIndicatorColor="@color/colorYellow"         app:tabSelectedTextColor="@color/colorZong"         app:tabTextColor="@color/colorBlack"/>      <!--可滑动的布局内容-->      <android.support.v4.view.ViewPager         android:id="@+id/hot_vp"         android:layout_width="match_parent"         android:layout_height="wrap_content"/>

转载请注明原文地址: https://www.6miu.com/read-39040.html

最新回复(0)