一、依赖库
compile 'cc.tracyzhang:PagerSlidingTabStrip:1.1.1'
二、布局
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="48dp"
app:pstsDividerColor="@color/transparent" //每个标签的分割线的颜色
app:pstsIndicatorColor="#0db22e" //滑动条的颜色
app:pstsIndicatorHeight="3dp" //滑动条的高度
app:pstsShouldExpand="true" // 如果设置为true,均匀平分整个屏幕,默认是false
app:pstsUnderlineColor="#b9b9b9" //滑动条所在底部长线的颜色
app:pstsUnderlineHeight="2dp" /> //滑动条所在底部长线的高度
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
三、代码
public class CollectActivity extends AppCompatActivity {
private Fragment[] mFragemnts = new Fragment[]{new SWFragment(), new MessageFragment(), new BlogsFragment(),new TopicFragment(), new CodeFragment()};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_collect);
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
ViewPager viewpager = (ViewPager) findViewById(R.id.viewpager);
viewpager.setAdapter(new MyAdapter(getSupportFragmentManager()));
tabs.setTextSize(18);
tabs.setTabBackground(Color.TRANSPARENT);
tabs.setTextColorStateListResource(R.drawable.tab_text_color_selector);//标签字体颜色状态
tabs.setBackgroundColor(Color.WHITE);
tabs.setViewPager(viewpager);
}
public class MyAdapter extends FragmentPagerAdapter {
private String[] titles = new String[]{"Tab1", "Tab2", "Tab3", "Tab4", "Tab5"};
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return mFragemnts[position];
}
@Override
public int getCount() {
return mFragemnts.length;
}
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}
}