TabLayout简单使用

来源:互联网 发布:怎么可以增加淘宝店的 编辑:程序博客网 时间:2024/05/15 23:43

介绍

TabLayout是属于Android Design Support Library中的一个控件,顶部或者底部水平的Tab布局,滑动或者点击切换的功能,今天我们简单讲解TabLayout的使用,重点讲解如何自定义TabLayout的item,也就是每一个tab。 参考博客

使用TabLayout

1.添加依赖

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

2.布局
通常我们都搭配ViewPager+Fragment使用。
页面用Fragment,放了一个小图标。

    <android.support.design.widget.TabLayout        android:layout_width="match_parent"        android:layout_height="40dp"        android:id="@+id/tablayout">    </android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/viewpager">

3.然后是ViewPager的适配器

public class MyFragmentAdapter extends FragmentPagerAdapter {    private String [] title = {"最新日报","专题","热门","主题日报"};    private List<Fragment> fragmentList;    public MyFragmentAdapter(FragmentManager fm, List<Fragment> fragmentList) {        super(fm);        this.fragmentList = fragmentList;    }    @Override    public Fragment getItem(int position) {        return fragmentList.get(position);    }    @Override    public int getCount() {        return fragmentList.size();    }    @Override    public CharSequence getPageTitle(int position) {        return title[position];    }}

4.创建几个Fragment 别忘了给fragment布局

public class Theme_Fragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.theme_fragment, container,false);        return view;    }}

5.实现

public class Main2Activity extends AppCompatActivity {    private TabLayout tablayout;                   //定义TabLayout    private ViewPager viewpager;                  //定义viewPager    private List<Fragment> fragments;            //定义要装fragment的列表    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        fragments = new ArrayList<>();        tablayout = (TabLayout) findViewById(R.id.tablayout);        viewpager = (ViewPager) findViewById(R.id.viewpager);        //得到Fragment        Hot_Fragment hot_fragment = new Hot_Fragment();        News_Fragment news_fragment = new News_Fragment();        Special_Fragment special_fragment = new Special_Fragment();        Theme_Fragment theme_fragment = new Theme_Fragment();        //添加fragment        fragments.add(hot_fragment);        fragments.add(news_fragment);        fragments.add(special_fragment);        fragments.add(theme_fragment);         //得到适配器        MyFragmentAdapter adapter = new MyFragmentAdapter(getSupportFragmentManager(), fragments);        //添加适配器        viewpager.setAdapter(adapter);        //添加到tablayout        tablayout.setupWithViewPager(viewpager);    }}

6.效果
这里写图片描述