TabLayout

来源:互联网 发布:淘宝主店怎么绑定分店 编辑:程序博客网 时间:2024/05/02 01:55

首先到个依赖

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传URLfor (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);    }}

0 0
原创粉丝点击