开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合

链接地址:https://github.com/astuetz/PagerSlidingTabStrip

下载PagerSlidingTabStrip-master

com.astuetz包,res下的下的资源复制进工程


布局文件:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="sunny.example.lianpagerslidingtabstrip.MainActivity" xmlns:app="http://schemas.android.com/apk/res/sunny.example.lianpagerslidingtabstrip">

  	
    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/pagerSlidingTabStrip"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        app:pstsShouldExpand="true"
        app:pstsIndicatorHeight="2dp"
        />
    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_below="@+id/pagerSlidingTabStrip"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

</RelativeLayout>
<!-- 
pstsIndicatorColor: Color of the sliding indicator
pstsUnderlineColor: Color of the full-width line on the bottom of the view
pstsDividerColor: Color of the dividers between tabs
pstsIndicatorHeight:Height of the sliding indicator TAB底部滑动横线的高度
pstsUnderlineHeight: Height of the full-width line on the bottom of the view
pstsDividerPadding: Top and bottom padding of the dividers
pstsTabPaddingLeftRight: Left and right padding of each tab
pstsScrollOffset: Scroll offset of the selected tab
pstsTabBackground: Background drawable of each tab, should be a StateListDrawable
pstsShouldExpand: If set to true, each tab is given the same weight, default false
pstsTextAllCaps: If true, all tab titles will be upper case, default true 默认Tab上的TextView大写字母-->

android:layout_below="@id/tabs"一定要记得写上,是让ViewPager控件在tabs之下。还有注释部分的属性可以使用。使用格式:app: 

在MainActivity.java中使用:

public class MainActivity extends FragmentActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		ViewPager viewPager = (ViewPager)findViewById(R.id.viewPager);
		viewPager.setAdapter(new myPagerAdapter(getSupportFragmentManager()));
		PagerSlidingTabStrip tabs = (PagerSlidingTabStrip)findViewById(R.id.pagerSlidingTabStrip);
		//PagerSlidingTabStrip绑定ViewPager
		tabs.setViewPager(viewPager);
	}
	
	class myPagerAdapter extends FragmentPagerAdapter{

		String[] title = {"item1","item2","item3"};
		BlueFragment blueFragment;
		GreenFragment greenFragment;
		OrangeFragment orangeFragment;
		
		public myPagerAdapter(FragmentManager fm) {
			super(fm);
			// TODO Auto-generated constructor stub
		}
		@Override
		public Fragment getItem(int position) {
			// TODO Auto-generated method stub
			switch(position){
			case 0:
				blueFragment = new BlueFragment();
				return blueFragment;
			case 1:
				greenFragment = new GreenFragment();
				return greenFragment;
			case 2:
				orangeFragment = new OrangeFragment();
				return orangeFragment;
			default:
				return null;
			}
			
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return title.length;
		}
		
		@Override  
        public CharSequence getPageTitle(int position) {  
            return title[position];  
        }  
	}

	
}

//PagerSlidingTabStrip绑定ViewPager
tabs.setViewPager(viewPager);

其中每个page是一个Fragment。


完整代码上传在:https://github.com/HiSunny/PagerSlidingTabStrip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值