问题标签 [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 投票
0 回答
361 浏览

java - 使用 ItemTouchHelper.SimpleCallback 在 RecyclerView 后面的视图上的属性动画

我正在尝试在基本上位于我的 RecyclerView 后面的视图上实现动画。我正在使用 ItemTouchHelper.SimpleCallback 类来获取 RecyclerView 上的运动事件并覆盖回调方法onChildDraw()以传播动画。

这个动画基本上是由用户滑动手势控制的。所以这是我的问题。

我在卡片视图上有一个带有电子邮件内容的 RecyclerView。该卡片视图下方的屏幕左侧和右侧有两个图像。此链接内的图像中显示了类似这样的内容:

RecyclerView 内的 CardView 与卡片视图后面的左右图像

最初,红色和粉红色图像是不可见的,并且将在白色卡片视图上的滑动量上进行动画处理。现在,当我在左侧和右侧的白色卡片视图上滑动时,红色和粉红色的图像将按比例显示,alpha 动画。缩放动画从 0.8 开始,alpha 动画从 0 到 255 开始。当这两个动画结束时,红色和粉色图像将朝滑动方向平移。

这是我的代码:

下面是我从上面的类中获取回调的活动代码:

在上面的代码中,我试图根据用户在白卡视图上的滑动量为红色和粉色图像设置动画。但我真的陷入了基于“dX”的计算中,无法弄清楚如何计算动画的值。

注意:- 当用户在卡片上从左到右滑动时,红色图像应该是动画的,当用户在卡片上从右到左滑动时,粉红色图像应该是动画的。动画最初将包含缩放和 alpha 动画,当两个动画完成时,红色或粉色图像将开始向滑动方向平移。

谁能帮我计算基于用户滑动的动画值。如果您对此问题有任何疑问,请提出。我真的陷入了这个问题,并且在网络上的任何地方都没有解决方案。

任何帮助将不胜感激。提前致谢。

0 投票
1 回答
6323 浏览

android - 在android中的recyclerview上实现项目触摸助手的正确方法

我在这里遵循了一个关于如何在运行我的代码时实现 onItemTouchHelper 和回调方法的教程将强制关闭索引超出范围异常这里有人可以帮助我吗?

这是我的代码,但它与教程中的代码相同,

简单的项目触摸助手回调

这是我的适配器

我也有一个 ItemTouchHelperAdapter

我像这样在我的活动中使用它

我得到的错误是

在 onMove 方法中,如果我取消注释

拖放一半有效,所以我可以拖动它但不能放下它,并且视图不会移动以适应它,这让我认为它是我的 cardMaker 列表,但这只是来自数据库的列表,有人能看到我看不到的东西吗?

0 投票
1 回答
284 浏览

android - onChildDraw 使项目闪烁

我正在尝试创建一个可以滑动以关闭的视图,但它可以撤消。这些项目在FrameView. 我onChildDrawItemTouchHelper.Callback这样覆盖:

一切正常,直到我尝试根据用户操作撤消滑动操作,如下所示:

这确实将实际视图返回到它的位置,但是如果用户尝试再次滑动该项目,则会再次显示背景,并且出于某种原因,使用大于屏幕宽度的 dX 参数调用 onChildDraw。点击该项目会在一瞬间显示背景视图,然后可以正常关闭前景。我怎样才能解决这个问题?

0 投票
0 回答
264 浏览

android - 从 RecyclerView 获取 ItemTouchHelper 对象

在我的代码中,我以这种方式附加ItemTouchHelper到:RecyclerView

simpleItemTouchCallbak是一个ItemTouchHelper.SimpleCallback实例。上面的代码将被多次调用,但我只想附加ItemTouchHelper一次。我知道我可以保留对它的引用或使用布尔标志,但我想知道有没有办法获得触摸助手参考表单RecyclerView或其LayoutManager

0 投票
0 回答
1279 浏览

android - ItemTouchHelper startSwipe 不起作用

我尝试在适配器中使用 startSwipe,它似乎不起作用。奇怪的是,当我尝试用手指手动滑动它时,它起作用了。只是当我单击支架内的按钮时 startSwipe 不起作用。这方面需要帮助~

这就是我调用 startSwipe 的地方(在 onCreateViewHolder 方法中)。

这就是我设置 ItemTouchHelper 的方式:

ItemTouchHelper 如何附加到recyclerView:

0 投票
1 回答
2039 浏览

android - ItemTouchHelper:如何防止“甩动”滑动直到手指通过滑动阈值?

上下文:我正在使用滑动操作(日期、完成、删除、设置)实现 ItemTouchHelper。我有getSwipeThreshold()回报 .2f。这意味着我需要水平拖动2/10 的方式进行滑动。我这样做是为了通过该阈值会改变背景状态(例如完整视图)。走得更远,4/10,会再次改变它(例如日期视图)。这些更改仅在期间调用isCurrentlyActive()(即当用户的手指触摸项目时)。请参阅下面的代码。

问题:虽然拖动可以正常工作,但投掷却不能。当我在阈值之前挥动并抬起手指时,由于速度,它会过早滑动。问题是除非我的手指通过阈值,否则背景不会改变。

问题:在我的手指超过滑动阈值之前,如何防止轻拂开始滑动?

(或者也许我问错了问题,有更好的方法来同步滑动阈值,从而在正确的时间改变背景状态?)

0 投票
1 回答
1272 浏览

android - Android - RecyclerView:通过滑动删除项目

我有一个 RecyclerView,刷完之后应该删除这些项目。我用 ItemTouchHelper 类解决了它。在 onChildDraw 方法中,我设置了一个红色背景,它在列表项后面滑动时出现。最重要的是,正确的站点上有一个垃圾桶图标。它工作正常,但是如果您开始滑动并且不滑动到最后然后滑动回正常位置,则垃圾桶图标不会消失。但是,只有当我滑动所选项目时它才会消失,而不是普通项目。

这是 ItemTouchHelper 类的代码:

有人知道取消滑动后如何删除图标吗?还是有类似 z-index 的东西?因为当我向后滑动所选项目时,垃圾桶图标会消失在项目下方。但是当我刷一个普通项目时,图标在项目上方,然后图标停留在那里。

0 投票
0 回答
445 浏览

android - RecyclerView ViewHolder 与 gmail 一样滑动和撤消

我正在尝试使用 Gmail 应用程序中的滑动来制作 RecyclerView。

我在用着:

  • 回收站视图
  • 风俗ViewHolder
  • 带有内容和滑动结果的布局(使用一些纯色背景和文本查看应用了什么操作,撤消按钮)区域
  • ItemTouchHelper
  • ItemTouchHelper.Callback

自定义背景没什么大不了的,ItemTouchHelper.Callback也只能强制移动内容视图。诀窍是处理对“撤消”按钮的点击。当 ViewHolder 处于滑出状态时,将ItemTouchHelper.Callback每次触摸处理为滑出动作。我该如何解决这个问题?还有另一种实现滑动的方法吗?

0 投票
1 回答
349 浏览

android - 带有 SpannedGridLayoutManager 的 ItemTouchHelper - RecyclerView 问题

我在 RecyclerView 中遇到了 ItemTouchHelper 与 SpannedGridLayoutManager 结合的问题,当拖动到被拖动项目旁边的项目时,拖动会过早结束。我知道它是有故障的布局管理器,因为它可以与其他布局管理器一起使用而没有任何问题。

有人已经解决了吗?

0 投票
1 回答
2781 浏览

android - RecyclerView ItemTouchHelper 滑动操作在片段类中不起作用

在此处输入图像描述我在FragmentViewPagerAdapter. 在这里,Recyclerview我实现ItemTouchHelper了一个没有发生的滑动。有没有人遇到过这个问题。

由于 viewpageradapter 滑动操作,无法使用 itemtouchhelper 滑动功能。