ViewPager相互嵌套,導致子ViewPager無法滑動,且子ViewPager中的view無法被點擊


    場景:當使用ViewPager進行嵌套的時候,子viewPager是無法進行嵌套的,因此我們要重寫ViewPager類,並重寫里層viewPager類中的onTouchEvent方法,調用其父控件的requestDisallowInterceptTouchEvent()方法,讓父viewPager不影響子viewPager的滑動。

     1,創建一個類MyviewPager,並寫入以下代碼:

 1 public class MyViewPager extends ViewPager {
 2     
 3     
 4      public MyViewPager(Context context) {  
 5             super(context);  
 6         }  
 7       
 8         public MyViewPager(Context context, AttributeSet attrs) {  
 9             super(context, attrs);  
10         }  
11         public boolean dispatchTouchEvent(MotionEvent ev) {  
          //下面這句話的作用 告訴父view,我的單擊事件我自行處理,不要阻礙我。
12            getParent().requestDisallowInterceptTouchEvent(true);
13 return super.dispatchTouchEvent(ev);
14 }
15 }

 

    2,在布局文件中添加自定義ViewPager控件

1  <!-- 子的Viewpager必須要使用自定義的viewPager控件,以便於我們滑動Viewpager的時候可以不產生沖突 --> 
2 <com.wangjitao.android_firstdemo.overclass.MyViewPager

//以前我們這里寫的是android.support.v4.view.ViewPager這個ViewPager
3 android:layout_height="match_parent" 

4 android:layout_width="match_parent"

5 android:id="@+id/vp_viewPager_second_Pager_01" 6 />

        這樣的話我們的父ViewPager和子ViewPager就都不相互影響了

  

 


免責聲明!

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



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