标签Tab切换 PagerSlidingTabStrip的使用

来源:互联网 发布:利驰软件电气教程 编辑:程序博客网 时间:2024/05/12 14:14

一、依赖库

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()};@Overridepublic 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];    }}

}

0 0