zoukankan      html  css  js  c++  java
  • 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就都不相互影响了

      

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/wjtaigwh/p/4890055.html
Copyright © 2011-2022 走看看