首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SlidingPaneLayout项目在RecyclerView中

SlidingPaneLayout项目在RecyclerView中
EN

Stack Overflow用户
提问于 2015-05-06 13:13:05
回答 1查看 984关注 0票数 0

我正在使用几个RecyclerView项填充SlidingPaneLayout,以实现“按一下删除”功能(基本上,将一个项目拖到右边显示一个删除按钮)。

问题:当我将一个项目拖到右边时,RecyclerView似乎也会截取我的触摸,如果我的拖动有点对角线(或者不是太水平)-- RecyclerView开始滚动,SlidingPaneLayout取消了窗格的关闭/打开。

我尝试在每个SlidingPaneLayout中添加一个触摸侦听器,以防止RecyclerView在ACTION_DOWN上执行SlidingPaneLayout时拦截触摸,但这并不好,因为它会立即阻止滚动

想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 13:24:58

解决办法:

在以下条件下,防止RecyclerView拦截触摸事件:

10% <滑动窗格偏移< 90%

i.e

代码语言:javascript
复制
ViewParent parent = ...; // Should be the RecyclerView
if (slideOffset > 0.1 && slideOffset < 0.9) {
    parent.requestDisallowInterceptTouchEvent(true);
} else {
    parent.requestDisallowInterceptTouchEvent(false);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30077852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档