使用viewpage判断左右滑动的参考详解
来源:爱站网时间:2020-11-03编辑:网友分享
在Android系统中,我们经常使用带有片段的viewpager来实现视图滑动,但在实际应用中,经常会出现方向冲突,本文是爱站技术频道小编和大家分享的使用viewpage判断左右滑动的参考详解,需要的朋友可以参考下文。
在Android系统中,我们经常使用带有片段的viewpager来实现视图滑动,但在实际应用中,经常会出现方向冲突,本文是爱站技术频道小编和大家分享的使用viewpage判断左右滑动的参考详解,需要的朋友可以参考下文。
分享给大家供大家参考,具体如下:
package com.meityitian.app.views;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.util.Log;
import com.meityitian.app.utils.Debug;
/**
* 重写,添加了判定滑动方向的方法
* @author zxy
*
*/
public class meityitianViewPager extends ViewPager {
private boolean left = false;
private boolean right = false;
private boolean isScrolling = false;
private int lastValue = -1;
private ChangeViewCallback changeViewCallback = null;
public meityitianViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public meityitianViewPager(Context context) {
super(context);
init();
}
/**
* init method .
*/
private void init() {
setOnPageChangeListener(listener);
}
/**
* listener ,to get move direction .
*/
public OnPageChangeListener listener = new OnPageChangeListener() {
@Override
public void onPageScrollStateChanged(int arg0) {
if (arg0 == 1) {
isScrolling = true;
} else {
isScrolling = false;
}
Debug.infoByTag("meityitianViewPager",
"meityitianViewPager onPageScrollStateChanged : arg0:"
+ arg0);
if (arg0 == 2) {
Debug.infoByTag("meityitianViewPager",
"meityitianViewPager onPageScrollStateChanged direction left ? "
+ left);
Debug.infoByTag("meityitianViewPager",
"meityitianViewPager onPageScrollStateChanged direction right ? "
+ right);
//notify ....
if(changeViewCallback!=null){
changeViewCallback.changeView(left, right);
}
right = left = false;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
if (isScrolling) {
if (lastValue > arg2) {
// 递减,向右侧滑动
right = true;
left = false;
} else if (lastValue
以上就是使用viewpage判断左右滑动的参考详解,相信大家在读完上面的知识后,对开发项目有一定的信息,赶紧收藏js.aizhan.com吧!
