Android support design + fragment的使用

    xiaoxiao2022-06-28  27

    首先,关于xml文件怎么写的问题 只需要一个<android.support.design.widget.TabLayout> 下面再放一个viewpager就可以了,要注意这个viewpager是android.support.v4.view.ViewPager 要注意这个是上下并列的两个元素,要注意最外面的LinearLayout是vertical的 然后关于在activity中的操作: 我们在initView函数中抓取这两个元素, TabLayout tabLayout = (TabLayout) this.findViewById(R.id.tab_layout);ViewPager viewPager = (ViewPager) this.findViewById(R.id.view_pager); 然后要加一些数据来充当ViewPager里面的内容和title 这里我们先初始化TabLayout的title数据集 List<String> titles = new ArrayList<>();titles.add("评价我的");titles.add("我评价的"); 在初始化TabLayout的title tabLayout.addTab(tabLayout.newTab().setText(titles.get(0)));tabLayout.addTab(tabLayout.newTab().setText(titles.get(1))); 再初始化ViewPager的数据集 List<Fragment> fragments = new ArrayList<>();fragments.add(new SelfCommentFromOthersFragment());fragments.add(new SelfCommentToOthersFragment()); 最后创建ViewPager的Adapter FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles);viewPager.setAdapter(adapter);把之前设置的fragment和titles一起Adapter数据上去。 最后不要忘了关联Layout和TabLayout,同时要覆写PagerAdapter的getPageTitle方法,否则Tab没有title tabLayout.setupWithViewPager(viewPager);tabLayout.setTabsFromPagerAdapter(adapter); ——————————————————华丽的分割线———————————————————————————————————— 有关FragmentAdapter的内容 其实和普通的Adapter一样,几乎没有差别,不过是添上数据而已。 代码如下: public class FragmentAdapter extends FragmentStatePagerAdapter {private List<Fragment> mFragments;private List<String> mTitles;public FragmentAdapter(FragmentManager fm, List<Fragment> fragments, List<String> titles) {super(fm);mFragments = fragments;mTitles = titles; }@Overridepublic Fragment getItem(int position) {return mFragments.get(position); }@Overridepublic int getCount() {return mFragments.size(); }@Overridepublic CharSequence getPageTitle(int position) {return mTitles.get(position); }}
    转载请注明原文地址: https://ju.6miu.com/read-1124345.html

    最新回复(0)