Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 全新android Tab控件PagerSlidingTabStrip最簡使用方法

全新android Tab控件PagerSlidingTabStrip最簡使用方法

編輯:關於Android編程

眾所周知Android的Tab控件不是很好用,因此Github上的PagerSlidingTabStrip項目被廣為使用,該項目地址為:

 

其示例圖如下:

\

由於其demo代碼較長,難以理解,因此我總結了一個最簡的使用方法。

第一,在ADT中導入PagerSlidingTabStrip中的library項目,若使用Android Studio則直接導入即可,若使用ADT則需參考我的上一篇文章進行導入:

http://blog.csdn.net/logicteamleader/article/details/45202863

並將library項目改名為PagerSlidingTabStrip-lib

第二,創建自己的項目,其中引用PagerSlidingTabStrip-lib項目。在自己的項目中創建幾個Fragment,並繼承FragmentPagerAdapter類實現一個MyPagerAdapter類,代碼如下(略去了幾個Fragment的layout和代碼):

 

package wxbtabexam.apkkids.com;

import java.util.ArrayList;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.TypedValue;

import com.astuetz.PagerSlidingTabStrip;
import com.example.wxbtabexam.R;

public class HomeActivity extends FragmentActivity {
	private ViewPager pager;
	private MyPagerAdapter pagerAdapter;
	private PagerSlidingTabStrip tabs;
	private int currentColor =0xFF5161BC;

	@Override
	protected void onCreate(Bundle arg0) {
		super.onCreate(arg0);
		setContentView(R.layout.home_layout);
		
		tabs = (PagerSlidingTabStrip) this.findViewById(R.id.tabs);
		pager = (ViewPager) this.findViewById(R.id.pager);
		ArrayList fragmentlist = new ArrayList();
		
		//注意,這三個Fragment需要自己實現
		ButtonFragment buttonFragment = new ButtonFragment();
		TextFragment textFragment = new TextFragment();
		MyListFragment mylistFragment = new MyListFragment();
		fragmentlist.add(buttonFragment);
		fragmentlist.add(textFragment);
		fragmentlist.add(mylistFragment);
		
		pagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), fragmentlist);
		pager.setAdapter(pagerAdapter);
		
		final int pageMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources()
				.getDisplayMetrics());
		pager.setPageMargin(pageMargin);

		tabs.setViewPager(pager);
		changeColor(currentColor);
	}
	
	private void changeColor(int newColor) {

		tabs.setIndicatorColor(newColor);
		currentColor = newColor;
	}
	
	//MyPagerAdapter要和上面實現的三個Fragment對應起來
	class MyPagerAdapter extends FragmentPagerAdapter{

		private final String[] TITLES = { Buttons, TextViews, List };
		private ArrayList fragmentlist;

		public MyPagerAdapter(FragmentManager fm,ArrayList list) {
			super(fm);
			fragmentlist = list;
		}

		@Override
		public CharSequence getPageTitle(int position) {
			return TITLES[position];
		}

		@Override
		public int getCount() {
			return fragmentlist.size();
		}

		public Fragment getItem(int position) {
			return fragmentlist.get(position);
		}
	}

}

如此即可。下面是運行圖,雖沒有PagerSlidingTabStrip提供的Sample項目優美,但也達到了效果。此外可以仔細研究其sample項目獲得更多方法。

 

\

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved