/**
*添加依赖 (在 build gradle 里面)
*dependencies {
* compile 'com.android.support:design:26.1.0'
**/
//布局
<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/table" app:tabMode="scrollable" app:tabTextColor="@color/colorPrimary" app:tabTextAppearance="@android:style/TextAppearance.Large" app:tabSelectedTextColor="@color/colorAccent"/> <android.support.v4.view.ViewPager android:id="@+id/tvp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" />
//主页面
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.os.Bundle; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private TabLayout table; private ViewPager tvp; private String[] titles = {"关注", "热点", "推荐", "北京", "娱乐", "体育", "教育", "科技", "历史", "地理", "视频"}; private ArrayList<Fragment> fragments; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); table = findViewById(R.id.table); tvp = findViewById(R.id.tvp); table.setupWithViewPager(tvp); fragments = new ArrayList<>(); for (int i = 0; i <titles.length ; i++) { Fragment1 f1 = new Fragment1(); fragments.add(f1); } for (int i = 0;i<fragments.size();i++){ table.addTab(table.newTab()); } MyAdapter adapter = new MyAdapter(getSupportFragmentManager()); adapter.setFragList(fragments); tvp.setAdapter(adapter); for (int i = 0; i <fragments.size() ; i++) { table.getTabAt(i).setText(titles[i]); } }//适配器 private class MyAdapter extends FragmentPagerAdapter{ private List<Fragment> list; public void setFragList(List<Fragment> list1){ this.list=list1; } public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } }