使用TabLayout首先需要在app模块下的build.gradle文件下 引用
compile
'com.android.support:design:23.3.0'
注意后面的版本(23.3.0,可以参考
dependencies {}里面的版本号)要与android studio的一致,否则会崩溃。
下面介绍下它的简单用法:
主活动代码:(那三个Fragment我就不贴了哈)
主布局代码(Fragment布局就不贴了)package com.example.k.myviewpager; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.util.Log; public class MainActivity extends AppCompatActivity { ViewPager viewPager = null; TabLayout tabLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); viewPager = (ViewPager) findViewById(R.id.MyViewPager); tabLayout = (TabLayout) findViewById(R.id.MyTabLayout); try { //设置ViewPager的适配器 viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager())); Log.i("ok","tabLayout="+tabLayout); if(tabLayout!=null) //关联ViewPager tabLayout.setupWithViewPager(viewPager); } catch (Exception e) { } } public class MyFragmentPagerAdapter extends FragmentPagerAdapter { public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } //设置ViewPager碎片里面的View @Override public Fragment getItem(int position) { switch (position) { case 0: return new Fragment1(); case 1: return new Fragment2(); case 2: return new Fragment3(); default: return null; } } @Override public int getCount() { return 3; } //设置TabLayout里的按钮Text @Override public CharSequence getPageTitle(int position) { Log.i("ok","position="+position); switch (position) { case 0: return "第一个"; case 1: return "第二个"; case 2: return "第二个"; default: return ""; } } } }
<?xml version="1.0" encoding="UTF-8"?> <LinearLayout android:orientation="vertical" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.v4.view.ViewPager android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="9" android:id="@+id/MyViewPager"/> <android.support.design.widget.TabLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:id="@+id/MyTabLayout" android:background="#FFFFFF"/> </LinearLayout>