//依赖
compile 'com.android.support:design:23.4.0'
//布局文件
<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="50dp" app:tabMode="fixed" app:tabSelectedTextColor="@android:color/holo_red_dark" app:tabIndicatorColor="@android:color/holo_red_dark" 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/vp"></android.support.v4.view.ViewPager>
//Main
package com.bawei.min.tablelayoudemo; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.widget.TableLayout; public class MainActivity extends AppCompatActivity { private ViewPager vp; private TabLayout tablayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //实例化数据 initData(); } private void initView() { tablayout = (TabLayout) findViewById(R.id.tablayout); vp = (ViewPager) findViewById(R.id.vp); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { switch (position){ case 0: tablayout.setScrollPosition(0, 0, true); break; case 1: tablayout.setScrollPosition(0, 0, true); break; case 2: tablayout.setScrollPosition(0, 0, true); break; case 3: tablayout.setScrollPosition(0, 0, true); break; case 4: tablayout.setScrollPosition(0, 0, true); break; case 5: tablayout.setScrollPosition(0, 0, true); break; } } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); tablayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { switch (tab.getPosition()) { case 0: vp.setCurrentItem(0); break; case 1: vp.setCurrentItem(1); break; case 2: vp.setCurrentItem(2); break; case 3: vp.setCurrentItem(3); break; case 4: vp.setCurrentItem(4); break; case 5: vp.setCurrentItem(5); break; } } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { switch (position) { case 0: /* fragment = new GuanZhuFragment(); break; case 1: fragment = new ReMenFragment(); break; case 2: fragment = new ZuiXinFragment();*/ break; } return null; } @Override public int getCount() { return 6; } }); } private void initData() { String[] title = new String[]{"关注", "热门", "最新","关注", "热门", "最新"}; for (int i = 0; i < title.length; i++) { tablayout.addTab(tablayout.newTab().setText(title[i])); } } }