1.首先,只要在build.gradle中加入compile 'com.android.support:design:22.2.0'即可。 2.布局文件 <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollable"<!-- 加上这句话,代表tab数量大于屏幕宽度时,能实现水平滚动--> tabIndicatorColor="@android:color/transparent" > <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/pager"></android.support.v4.view.ViewPager> 3.activity //存放数据的集合(网络请求的数据),也就是请求接口返回的导航栏的信息装到集合中 private List<String> li=new ArrayList<>(); //存放fragment的集合 private List<Fragment> fragments = new ArrayList<Fragment>(); //初始化view private void initView() { pager = (ViewPager) getView().findViewById(R.id.pager); tablayout = (TabLayout) getView().findViewById(R.id.tablayout); } //通过接口回调得到数据 @Override public void callBackhome(Object o) { newsBean news= (newsBean) o; for (int i = 0; i < news.getResult().getDate().size(); i++) { //遍历集合拿到title li.add(news.getResult().getDate().get(i).getTitle()); //循环创建fragment MyFragment frag=new MyFragment(news.getResult().getDate().get(i).getUri()); fragments.add(frag); } FragmentAdapter adapter=new FragmentAdapter(fragments,li,getActivity().getSupportFragmentManager()); pager.setAdapter(ada pter); //关联 tablayout.setupWithViewPager(pager); tablayout.setTabTextColors(Color.BLACK,Color.RED); } 4.设配器 public class FragmentAdapter extends FragmentPagerAdapter { private List<String> list=new ArrayList<>(); private List<Fragment> fragments; public FragmentAdapter(List<Fragment> fragments,List<String> list, FragmentManager fm) { super(fm); this.fragments = fragments; this.list=list; } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return list.size(); } @Override public CharSequence getPageTitle(int position) { return list.get(position); } }
菜鸟Tablayout显示导航栏
最新推荐文章于 2023-05-25 14:15:38 发布