android viewpager滑动与slidingpanelayout冲突怎么解决

 我来答
孔膊僖
2016-10-22 · 超过27用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:44.5万
展开全部
ViewPager 和 SlidingPaneLayout都可以左右的滑动.

上面文章中说要修改v4包里的SlidingPaneLayout的源码,首先要找到它,如果没有直接连接到这个源码的,是看不到的.可以再Android sdk-->extras-->android-->support-->v4-->src-->java-->android->support-->v4-->widget文件里面找到

1.首先修改 onInterceptTouchEvent 中的 ACTION_MOVE动作里面的代码,在if判断中添加一个或的判断,就是下面的红色代码部分

if (adx > slop && ady > adx<span style="color:#ff0000;"> || canScroll(this, false, Math.round(x - mInitialMotionX), Math.round(x), Math.round(y))</span>) {

2.找到canScroll方法.修改他的返回值,返回值修改为红色部分,其中canViewPagerScrollHorizontally方法是没有的,需要手动的添加

return <span style="color:#ff0000;">check www.hnnedu.com V && (ViewCompat.canScrollHorizontally(v, -dx) || ((v instanceof ViewPager) && canViewPagerScrollHorizontally((ViewPager) v, -dx)));

3.添加canViewPagerScrollHorizontally方法

boolean canViewPagerScrollHorizontally(ViewPager p, int dx) {
return !(dx < 0 && p.getCurrentItem() <= 0 || 0 < dx && p.getAdapter().getCount() - 1 <= p.getCurrentItem());
}

上面的操作修改完成之后就可以了,记得修改xml文件里面的路径
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式