禁止滑动的ViewPager的写法

ViewPager非常好用,但有时候需要在ViewPager的里面再嵌入ViewPager,那么就有冲突了,简单粗暴的方法就是直接把一个ViewPager禁止滑动。

注意:禁止滑动的同时不能禁止 setCurrentItem 方法。

实现思路:重写ViewPager,覆盖 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,这样就等于禁止了ViewPager上的滑动事件。
java文件写法:
package com.miquan.view;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;

/**

  • 不可以滑动,但是可以setCurrentItem的ViewPager。
    */
    public class NoScrollViewPager extends ViewPager {
    public NoScrollViewPager(Context context) {
    super(context);
    }

    public NoScrollViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
    }

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
    return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
    return false;
    }
    }
    xml文件写法:
    <com.example.pwj.service.NoScrollViewPager
    android:id="@+id/id_viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">
    </com.example.pwj.service.NoScrollViewPager>
    调用方法
    直接调用就可以:
    NoScrollViewPager mViewPager = (NoScrollViewPager) findViewById(R.id.id_viewpager);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容