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
頁卡切換監聽中設定目前項