首先需要添加一个依赖:
compile 'com.android.support:design:26+'
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.design.widget.TabLayout android:id="@+id/tablelatout" android:layout_width="match_parent" android:layout_height="wrap_content" /> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout>主类:
package com.bwei.ssp.tablalayout; 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 java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private TabLayout tabley; private ViewPager vp; List<Fragment>Flist =new ArrayList<>(); List<String>Slist =new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tabley = (TabLayout ) findViewById(R.id.tablelatout); vp = (ViewPager) findViewById(R.id.vp); initData(); Madapter madapter = new Madapter(getSupportFragmentManager()); vp.setAdapter(madapter); //设置TabLayout的模式 tabley.setTabMode(TabLayout.MODE_FIXED); //让tablayout和Viewpager关联; tabley.setupWithViewPager(vp); } private void initData() { for (int i = 0; i <4 ; i++) { Flist.add(new F1()); Slist.add("do not love"+1); } } private class Madapter extends FragmentPagerAdapter{ public Madapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return Flist.get(position); } @Override public int getCount() { return Flist.size(); } @Override public CharSequence getPageTitle(int position) { return Slist.get(position); } } private class MODE_FIXED { } }