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

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

下载PagerSlidingTabStrip-master

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

开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合_第1张图片

布局文件:activity_main.xml



  	
    
    


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。

开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合_第2张图片

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

你可能感兴趣的:(开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合)