設置ViewPager不可滑動

衆所周知ViewPager一般都是搭配Tablayout用的,有時候我們會在項目中碰到這種場景,比如我司的某一產品,如下,如果是你們要如何實現呢?產品要求,只能點擊,不可滑動(我tm...)。OK,這時候就要用到自定義不可滑動的ViewPager了。帶daidai

代碼如下:

package com.jm.puzzle.home;

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

/**
 * 自定義不可滑動viewPage
 * */
public class NoScrollViewPager extends ViewPager {
    //true  是不可滑動    false  是可滑動
    private boolean noScroll = true;
    public NoScrollViewPager(@NonNull Context context) {
        super(context);
    }

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

    public void setNoScroll(boolean noScroll){
        this.noScroll = noScroll;
    }

    @Override
    public void scrollTo(int x, int y) {
        super.scrollTo(x, y);
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        if (noScroll)
            return false;
        else
        return super.onTouchEvent(ev);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onInterceptTouchEvent(arg0);
    }

    @Override
    public void setCurrentItem(int item, boolean smoothScroll) {
        super.setCurrentItem(item, smoothScroll);
    }

    @Override
    public void setCurrentItem(int item) {
        super.setCurrentItem(item);
    }
}

xml文件裏設置對應的位置

<com.jm.puzzle.home.NoScrollViewPager
                    android:id="@+id/view_pager"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:visibility="visible"/>

順便安利下產品上面的產品《拼圖相機》,感興趣的可以玩下,各大應用商店 均可下載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章