天天看點

android viewpager 滑動監聽

 viewpager 實作頁卡切換功能 之前就已經有使用過了

最近遇見一個這樣的需求 就是假設viewpager 含5個頁卡   當滑動到第一頁時再往左滑提示滑動到第一頁了  滑動到最後一頁時再往右滑提示滑到最後頁了。

思索以後我認為應該要重寫viewpager裡面的方法才行。

一個一個查找後發現 有這麼個方法 onPageScrolled。

然後我便以這個思路這樣寫了

自定義的viewpager 添加兩個方法

private int pos = 0;
	private int maxPos = 0;
           
/**
	 * 設定viewpager最大項數
	 * @param position
	 */
	public void setMaxPage(int position)
	{
		maxPos = position;
	}
	
	/**
	 * 設定viewpager滑動到的目前項
	 * @param position
	 */
	public void setCurrentPos(int position)
	{
		pos = position;
	}
           

重寫這個onPageScrolled方法

@Override
	protected void onPageScrolled(int arg0, float arg1, int arg2) {
		Log.e("suo", "arg0:" + arg0 +"|arg1:" + arg1 +"|arg2:" + arg2);
		if(pos == 0){
			if(arg2 == 0){
				Log.e("suo", "已經是第一頁了");
			}
		}else if(pos == maxPos-1)
		{
			if(arg2 == 0){
				Log.e("suo", "已經是最後一頁了");
			}
		}
		super.onPageScrolled(arg0, arg1, arg2);
	}
           

在類檔案中  viewpager初始化時  設定其最大值  并且在 

/**
	 * 頁卡切換監聽
	 */
	public class MyOnPageChangeListener implements OnPageChangeListener
           

頁卡切換監聽中設定目前項 

繼續閱讀