最靠譜的禁止ViewPager滑動方法


今天的工作中,遇到一個需求,就是禁止了viewpager的滑動效果。但是我的viewpager里面嵌套了scrollview。並且里面有seekbar,還有edittext,雖然我剛開始直接將viewpager的onTounchEvent返回false。但是發現表面上確實禁止了滑動。但是在scrollview這個頁面可以很明顯的發現,左右滑動的時候,viewpager還是會響應。

 

查了很多資料以后解決了問題。

 

方法1.如下代碼:
 1 //    @Override
 2 //    public boolean onTouchEvent(MotionEvent ev) {
 3 //        return false;
 4 //    }
 5 
 6 //    private boolean isCanScroll = true;
 7    
 8 
 9 //    public void setScanScroll(boolean isCanScroll){
10 //        this.isCanScroll = isCanScroll;
11 //    }
12 //    @Override
13 //    public void scrollTo(int x, int y){
14 //        if (isCanScroll){
15 //            super.scrollTo(x, y);
16 //        }
17 //    }

方法2.如下代碼:

 1  private boolean isPagingEnabled = false;
 2     @Override
 3     public boolean onTouchEvent(MotionEvent event) {
 4         return this.isPagingEnabled && super.onTouchEvent(event);
 5     }
 6 
 7     @Override
 8     public boolean onInterceptTouchEvent(MotionEvent event) {
 9         return this.isPagingEnabled && super.onInterceptTouchEvent(event);
10     }
11 
12     public void setPagingEnabled(boolean b) {
13         this.isPagingEnabled = b;
14     }

第二個方法,完美解決了,但是我認為第一個方法也不錯,值得學習。

希望對大家工作學習有幫助。

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM