TabLayout

    xiaoxiao2021-03-25  94

    首先到个依赖

    TabLayout的依赖

    compile 'com.android.support:design:25.0.0'

    TabLayout+viewpager

    在相对布局或者线性布局中设置属性

    xmlns:app="http://schemas.android.com/apk/res-auto"

    <android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="match_parent" android:layout_height="48dp" <!--每个间隔1dp--> android:layout_margin="1dip" <!--颜色--> app:tabIndicatorColor="@android:color/holo_red_dark" app:tabSelectedTextColor="@android:color/holo_red_dark" app:tabTextColor="@android:color/black" /><android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"></android.support.v4.view.ViewPager>

      //找控件     private void initView(View view) {         tab = (TabLayout) view.findViewById(R.id.tab);         vp = (ViewPager) view.findViewById(R.id.vp);        

    //用一个工具类查找集合 ArrayList<Home> getlist = HomeList.getlist(); //TabLayout复制 for (int i = 0; i < getlist.size(); i++) { titles.add(getlist.get(i).getName()); } //创建fragment 给fragment传URL for (int i = 0; i < getlist.size(); i++) { NewsFragment newsFragment1 = new NewsFragment(getlist.get(i).getUrl()); fragments.add(newsFragment1); } //设置tablayout模式 tab.setTabMode(TabLayout.MODE_SCROLLABLE); //添加tab标签 数据源 for (String s : titles) { tab.addTab(tab.newTab().setText(s)); }

    //创建适配器 MyViewPagerAdapter adapter = new MyViewPagerAdapter(getActivity().getSupportFragmentManager()); vp.setAdapter(adapter); //将tablayout跟viewpager关联 tab.setupWithViewPager(vp); tab.setTabsFromPagerAdapter(adapter); private class MyViewPagerAdapter extends FragmentPagerAdapter { public MyViewPagerAdapter(FragmentManager fragmentManager) { super(fragmentManager); } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } //获取page对应的title @Override public CharSequence getPageTitle(int position) { return titles.get(position); } }

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

    最新回复(0)