麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

TabLayout + ViewPager 使用正確姿勢

2019-11-09 16:06:09
字體:
來源:轉載
供稿:網友

網上很多反應使用TabLayout 的 setupWithViewPager 踩的坑 (我承認我也踩了),廢話少說,直接總結我的血淚史。

TabLayout + ViewPager 可以有兩種使用方式 :

采用 setupWithViewPager 方法 ,正確姿勢應該是重寫PagerAdapter 的 getPageTitle(int position) 方法PRivate void initPager() { fragmentList = new ArrayList<>(); Collections.addAll(tabTitleList, tabTitle); for (int i = 0; i < tabTitle.length; i++) { CardFragment fragment = new CardFragment(); fragmentList.add(fragment); } adapter = new CardPagerAdapter(getSupportFragmentManager(), fragmentList,tabTitleList); mViewPager.setAdapter(adapter); //將TabLayout和ViewPager關聯起來。 此處 有坑!!setupWithViewPager 會 removeAllTabs(),之前add的tab 文字不顯示的原因 mTabLayout.setupWithViewPager(mViewPager); // //設置可以滑動 mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);}

CardPagerAdapter 代碼

public class CardPagerAdapter extends FragmentStatePagerAdapter { private List<Fragment> data; private ArrayList<String> tabTitleList = new ArrayList<String>(); public CardPagerAdapter(FragmentManager fm, List<Fragment> data, ArrayList<String> tabTitleList ) { super(fm); this.data = data; this.tabTitleList=tabTitleList; } @Override public Fragment getItem(int position) { return data == null ? null : data.get(position); } @Override public int getCount() { return data == null ? 0 : data.size(); } @Override public CharSequence getPageTitle(int position) { return tabTitleList.get(position); }}不采用 setupWithViewPager 方法 ,不需要重寫 PagerAdapter 的 getPageTitle 方法private void initPager() { mTabLayout.addTab(mTabLayout.newTab().setText("A")); mTabLayout.addTab(mTabLayout.newTab().setText("B")); mTabLayout.addTab(mTabLayout.newTab().setText("C")); mTabLayout.addTab(mTabLayout.newTab().setText("D")); mTabLayout.addTab(mTabLayout.newTab().setText("E")); mTabLayout.addTab(mTabLayout.newTab().setText("F")); fragmentList = new ArrayList<>(); Collections.addAll(tabTitleList, tabTitle); for (int i = 0; i < mTabLayout.getTabCount(); i++) { CardFragment fragment = new CardFragment(); fragmentList.add(fragment); } adapter = new CardPagerAdapter(getSupportFragmentManager(), fragmentList,tabTitleList); mViewPager.setAdapter(adapter); mTabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager)); mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout)); //設置可以滑動 mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); }

OK, 可以參考 仿CSDN客戶端首頁(一)—-TabLayout實現選項卡滑動效果


上一篇:ShareSdk第三方分享

下一篇:Json 數據解析

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 羞羞答答www网站进入 | 欧美成人午夜 | 成人18在线 | 在线1区| a视频网站| 日本在线视频一区二区三区 | 日本aaa一级片 | av电影在线观看网址 | 欧美精品久久久久久久久久 | 欧美成人免费tv在线播放 | 国产91九色视频 | 欧美城网站地址 | 在线观看精品视频 | 九九热在线视频观看 | 一本免费视频 | 欧美在线观看视频网站 | 欧美精品a∨在线观看不卡 午夜精品影院 | 国产中文一区 | 亚洲看片网| 久久久久久久久国产 | 成人福利网| 免费激情网站 | av国语| 中文字幕涩涩久久乱小说 | 日本羞羞的午夜电视剧 | 久久精品欧美电影 | 久久久久久久久久综合 | 伊人久久电影网 | 日本在线观看一区二区 | 九九热在线视频免费观看 | 精品国产91久久久久久浪潮蜜月 | 久久精品99北条麻妃 | 精品一区二区久久久久 | 国产精品视频免费网站 | 韩国精品一区二区三区四区五区 | 国产精品夜色视频一级区 | 91www成人久久 | 一级毛片免费大片 | 亚洲第一成av人网站懂色 | 国产欧美精品一区二区三区四区 | 欧美成人一级 |