解决viewpager嵌套viewpager和其他view 冲突问题
2013-07-09 14:51
405 查看
这个网址必须收藏,解决viewpager嵌套viewpager和其他view 冲突问题
分类:
android2013-07-09 14:51378人阅读评论(2)收藏举报
http://www.apkbus.com/android-101849-1-1.html viewpager嵌套viewpager【主viewpager的子项里面包含一个viewpager和其他的view】 这样滑动肯定会冲突,必须冲突,纠结了1个星期,头疼了一个星期,终于成功了!!!感谢啊
我们只需要重写子viewpager 就可以很好的解决这个问题了
/**
* ChanpinViewPager.java
* com.stg.ln.utils.ui
*
* Function: TODO
*
* ver date author
* ──────────────────────────────────
* 2013-7-9 zhangyanhong
*
* Copyright (c) 2013, TNT All Rights Reserved.
*/
package com.stg.ln.utils.ui;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class ChildViewPager extends ViewPager {
public ChildViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public static ViewPager mPager;//此处我直接在调用的时候静态赋值过来 的
private int abc = 1;
private float mLastMotionX;
String TAG="@";
private float firstDownX;
private float firstDownY;
private boolean flag=false;
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
final float x = ev.getX();
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
mPager.requestDisallowInterceptTouchEvent(true);
abc=1;
mLastMotionX=x;
break;
case MotionEvent.ACTION_MOVE:
if (abc == 1) {
if (x - mLastMotionX > 5 && getCurrentItem() == 0) {
abc = 0;
mPager.requestDisallowInterceptTouchEvent(false);
}
if (x - mLastMotionX < -5 && getCurrentItem() == getAdapter().getCount()-1) {
abc = 0;
mPager.requestDisallowInterceptTouchEvent(false);
}
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mPager.requestDisallowInterceptTouchEvent(false);
break;
}
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return super.onInterceptTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return super.onTouchEvent(event);
}
}
再次感谢安卓巴士的某楼主!
开心呀、、、
分类:
android2013-07-09 14:51378人阅读评论(2)收藏举报
http://www.apkbus.com/android-101849-1-1.html viewpager嵌套viewpager【主viewpager的子项里面包含一个viewpager和其他的view】 这样滑动肯定会冲突,必须冲突,纠结了1个星期,头疼了一个星期,终于成功了!!!感谢啊
我们只需要重写子viewpager 就可以很好的解决这个问题了
/**
* ChanpinViewPager.java
* com.stg.ln.utils.ui
*
* Function: TODO
*
* ver date author
* ──────────────────────────────────
* 2013-7-9 zhangyanhong
*
* Copyright (c) 2013, TNT All Rights Reserved.
*/
package com.stg.ln.utils.ui;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class ChildViewPager extends ViewPager {
public ChildViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public static ViewPager mPager;//此处我直接在调用的时候静态赋值过来 的
private int abc = 1;
private float mLastMotionX;
String TAG="@";
private float firstDownX;
private float firstDownY;
private boolean flag=false;
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
final float x = ev.getX();
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
mPager.requestDisallowInterceptTouchEvent(true);
abc=1;
mLastMotionX=x;
break;
case MotionEvent.ACTION_MOVE:
if (abc == 1) {
if (x - mLastMotionX > 5 && getCurrentItem() == 0) {
abc = 0;
mPager.requestDisallowInterceptTouchEvent(false);
}
if (x - mLastMotionX < -5 && getCurrentItem() == getAdapter().getCount()-1) {
abc = 0;
mPager.requestDisallowInterceptTouchEvent(false);
}
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mPager.requestDisallowInterceptTouchEvent(false);
break;
}
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return super.onInterceptTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return super.onTouchEvent(event);
}
}
再次感谢安卓巴士的某楼主!
开心呀、、、
相关文章推荐
- 自定义 viewpager 解决viewpager 嵌套到其他滚动父控件时候冲突的问题
- 解决scrollView中嵌套viewPager的冲突问题
- 完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 完美解决viewpager跟其他类型的listview 或 gridview一起使用时,滑动冲突问题
- 解决ViewPager嵌套ViewPager滑动冲突问题
- 解决ScrollView嵌套viewpager冲突问题
- Android ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题解决方案
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 解决ScrollView嵌套viewpager滑动事件冲突问题
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 完美解决Android里面scrollview嵌套及listview嵌套viewpager的滑动冲突问题的简单方法
- 完美解决DrawerLayout全屏滑动及嵌套viewpager滑动冲突问题
- 简单完美解决PullToRefreshLayout中PullableListView嵌套ViewPager时滑动冲突的问题
- 解决ScrollView嵌套viewPager中嵌套listView滑动事件冲突问题(水平方向)
- 完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题
- android 教您完美解决viewpager嵌套viewpager冲突问题
- ViewPager禁止滑动,设置页片间距,设置当前显示的页面,缓存个数,以及解决嵌套ViewPager左右滑动冲突问题
- android listview嵌套viewpager,viewpager嵌套gridview,解决内嵌无法显示以及时间冲突的问题
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题