衆所周知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"/>
順便安利下產品上面的產品《拼圖相機》,感興趣的可以玩下,各大應用商店 均可下載。