问题标签 [itemtouchhelper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5374 浏览

android - 从 RecyclerView 中分离 ItemTouchHelper

我有RecyclerView一个工作ItemTouchHelper。一切都很好,但我想知道是否有一种方法可以在不重新创建列表的情况下将其ItemTouchHelper从列表中分离出来?RecyclerView为了好玩,这是我用来附加的代码:

理想情况下,我想检查一下onResume()对活动的偏好,并在此基础上RecyclerView分离活动。ItemTouchHelper

0 投票
1 回答
1510 浏览

android - 部分向左/向右滑动 RecyclerView 的行

我创造了一个RecyclerView ItemTouchHelper这样的 -

}

但这是将整行从屏幕上滑下来,我只希望 25% 的行替换。让我知道任何前进的提示..

0 投票
1 回答
1159 浏览

android - 使用 ItemTouchHelper 嵌套在 NestedScrollView 中的最新 RecyclerView

随着RecyclerView 的最新更新,它现在可以将 wrap_content 包含在 NestedScrollView 中。但是,有些行为对我不利,我正在寻找答案。

问题1:包装不考虑空格。这意味着如果 RecyclerView 内容之后有空格,则拖动动画将剪辑项目中间屏幕,如下所示:

在此处输入图像描述

更新:已解决问题 1。我只需要将 layout_weight="1" 属性添加到 RecyclerView。

问题 2:与问题 1 类似,删除项目时,RecyclerView 将在动画开始时立即换行 - 导致动画剪辑如下所示:

在此处输入图像描述

更新:问题 2 仍未解决,但没有以前那么明显。当项目被移除时,项目现在剪辑到视口,看起来屏幕跳到了新的高度,动画从视口下方向上拉。

问题3:添加新项目时,我想滚动到ScrollView的末尾。但是,在我的添加事件中运行以下代码后,滚动立即跳转到滚动视图的当前端。是否有“插入项目后”的回调?

在此处输入图像描述

更新:问题 3 仍未解决,但我找到了一种解决方法,可以像这样颠倒顺序:

然后是添加新项目时的以下代码。这样,无论高度如何,滚动始终有效。


文章引用:

请注意,尽管 RecyclerView 为其子项设置动画,但它不会为其自身的边界更改设置动画。如果您想在 RecyclerView 边界发生变化时为其设置动画,您可以使用 Transition API。

好吧,我不需要为边界设置动画,但我确实希望它捕捉并填充视口(在这种情况下,我不能使用 match_parent,因为我在回收站视图上方有一些静态视图)。从而解决问题1

我想在改变界限之前做一些事情。示例:在删除项目上为删除设置动画,然后应用绑定更改。从而解决问题2

相反,当界限已经改变时,我想做一些事情。示例:在添加新项目时,首先应用新绑定,然后启动滚动动画。从而解决问题3

知道如何实现这一目标吗?

0 投票
1 回答
1001 浏览

android - 带有 ItemTouchHelper 的 RecyclerView 仅部分可滑动

我有一个 recyclerview 列表,其中包含以下项目:

项目清单

红色方块只能向左滑动(拖放),绿色只能向右滑动。当元素被滑动时,出现并带有如下选项的图像:

- 向左滑动:

向左滑动

-向右滑动: 向右滑动

布局项具有以下外观:

我正在尝试使用ItemTouchHelper.Callback并覆盖onChildDraw制作正确动画的方法。但我不能用方形已经刷卡,并做出正确的动画。¿ 实现这一目标的另一种方法?

0 投票
0 回答
806 浏览

android - CardView 使用 ItemTouchHelper 在 RecyclerView 中滑动一半

我想在他/她滑动时在 CardView 下显示用户菜单;但我希望 cardView 在刷卡过程中中途停止;

我创建了 MyItemTocuchHelper 类并覆盖了 onChildDraw() 方法:

这是做什么的,滑动动画会在某个点停止(我想做);但是当这个视图被滑动时,滑动距离自动设置为屏幕宽度;我的意思是,当我尝试将其向后滑动时,第一次使用 dX = 1038.0 调用 onChildDraw() 方法,并且它的值随着我继续滑动而减小;所以在 dX 达到 mWidth 的值之前没有播放动画。只要 dX; 的值减小到 mWidth 的值,动画就会重新开始。

有什么方法可以将例如 swipedDX 设置为特定值?或任何解决方法?我想要的是,一旦用户开始向后滑动视图,就开始动画。

先感谢您

0 投票
0 回答
514 浏览

android - Android RecyclerView在位置(x,y)找到最底部的孩子

在我的 Activity 中,我有一个 RecyclerView,并附有 ItemTouchHelper。ItemTouchHelper,具有覆盖的方法:

因此,RecyclerView 中的视图是可拖动的;

我的目标是能够通过 recyclerView 拖动 RecyclerView 项目之一并获取视图,即在拖动视图下。所以,我尝试使用RecyclerView.findChildViewUnder(float x, float y)说:“找到给定点下的最顶层视图”。

但是那里正在发生一些奇怪的事情。

当我将某个项目拖到其原始位置的底部时(如在 Image1 中),如您所见,findChildViewUnder() 返回位于该拖动视图下方的视图(这是我的目标)。

图片1

但是,如果我将项目上方拖动到其原始位置(如 Image2 中),则 findChildViewUnder() 返回拖动的视图(但不返回其下的视图)。

图片2

有什么建议么?我怎样才能始终获得拖动项目下的视图?

0 投票
0 回答
477 浏览

android - Android RecyclerView ItemTouchHelper 控制滑动区域

所以我有一个recyclerview,我正在设置一个ItemTouchHelper 来对整个itemView 执行滑动。碰巧我的 itemView 也有需要刷卡的项目。我设法通过使用将在其上执行滑动动画的特殊“滑动布局”使其工作。

我的问题是,当我滑动我的 recyclerView itemView 的子视图时,父视图也同时被滑动。我试着打电话

在子视图上,但没有任何反应。有什么办法可以限制父滑动区域(通过itemtouchhelper),这样它只会在我单击itemView的上半部分时滑动视图?

0 投票
3 回答
2115 浏览

android - RecyclerView 拖拽高亮

如何更改/删除项目拖动突出显示?我正在使用ItemTouchHelper并且我知道我需要使用onChildDraw方法做一些事情,但我不想覆盖整个ACTION_STATE_DRAG事件,只需要影响拖动项目时出现的灰色框

我有什么: 灰色框架

编辑:我注意到框架没有出现在棒棒糖之前的设备上,所以也许我只需要设置一些主题强调色,但我找不到合适的选择器(试过colorControlActivatedcolorControlHighlight

0 投票
1 回答
1084 浏览

android - 如何使用 ItemTouchHelper.Callback 将项目拖放到水平回收器视图的边界上?

我想将项目拖到我的水平 recyclerview 上(不仅在 recyclerview 的范围内),当放下一个项目时,它会通过动画移动到新位置。如何使用 ItemTouchHelper.Callback 来实现这一点?

0 投票
1 回答
3550 浏览

android - RecyclerView 拖放 - 使用 ItemTouchHelper - 如何在拖动时更快地设置滚动速度?

我尝试使用此代码进行拖放:https ://github.com/iPaulPro/Android-ItemTouchHelper-Demo 。

这是一个视频:https ://youtu.be/lMsv2jYpbi4

有没有办法在拖放过程中加快滚动速度?