1. 程式人生 > >ViewPager手勢滑動禁用

ViewPager手勢滑動禁用

       專案需求千奇百怪,不得不說作為程式設計師也是醉了。在專案中,老闆要求安卓的使用者互動風格必須和ios保持一樣,ios上沒有的安卓必須禁用。廢話不多說,直接看專案需求。

       專案中有頁籤分頁顯示的介面,於是就用了ViewPager元件。但是ios那邊的頁籤卻沒有手勢滑動的效果,因為老闆比較喜歡ios,所以就要求將安卓ViewPager的手勢滑動禁用掉。沒辦法,身為員工只能按老闆說的做。下面看程式碼。

public class NoScrollHorizontalViewPager extends ViewPager{

    private boolean DISABLE=false;

    public NoScrollHorizontalViewPager(Context context){

       super(context);

    }

    public NoScrollHorizontalViewPager(Context context, AttributeSet attrs){

       super(context,attrs);

    }

  

   @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        return DISABLE&&super.onInterceptTouchEvent(arg0);
    }

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        return DISABLE&&super.onTouchEvent(arg0);
    }

}

        看過程式碼後是不是感覺非常簡單,沒什麼可說的。這裡還是說下哈,其實就是將攔截觸控事件和觸控事件的返回值改為false即可,這樣自定義的ViewPager元件就不會攔截和處理觸控事件了,也就不會隨手勢滑動了。