当前位置: 首页 > 知识库问答 >
问题:

RecyclerView:调整项目大小的动画

华星文
2023-03-14
  • 视图将被重新创建,使过渡变得非常奇怪,因为它在下一个项目移动的同时会在该项目的上方褪色。出现的新视图没有调整大小,它已处于完整大小。
  • 重新创建视图时,旧视图淡出,新视图淡出,这会使视图背景颜色闪烁。

我还尝试在动画期间在item视图上设置LayoutTransition,但这种方法的问题是RecycleView的布局会立即更新,并且不会跟随动画。

我已经为这两次尝试创建了一个小的演示项目。项目的来源在这里。

共有1个答案

江宏放
2023-03-14

好的,所以我找到了一个不涉及调用NotifyItemChanged解决方案,这样就不会替换视图。缺点是您必须手动检查视图的一致性。为此,我创建了一个小型库,它允许我在Viewholder中查找的内容。

诀窍是手动动画高度变化而不是使用LayoutTransition。

演示项目可以在这里找到。

 类似资料:
  • 问题内容: 我现在有这个: 我想做的是在flexbox中每行有5个项目。目前,它们没有显示是因为它们没有设置宽度/高度,这使我想到了下一个问题。是否可以自动调整项目的大小,以便每行容纳5个项目? 我该怎么做? 谢谢! 问题答案: 您给出的a是正确的,但是您必须调整每个 flex项目 上的4px边距以使其正确 包装 。 最后一行的等宽Flex项目 用途-这表示商品的宽度不会超过宽度的20%(调整边距

  • 我试图使用RecyclerView和GridLayoutManager来显示项目列表。 以下是我想要满足的标准: 每行都有一个由 我发现,如果我在项目视图上设置,那么项目宽度将通过将RecyclerView的宽度除以

  • Android最近增加了根据视图大小以及最小和最大文本大小调整TextViews文本大小的支持。 https://developer.Android.com/guide/topics/ui/look-and-feel/autosizing-textView.html 不幸的是,他们不支持EditTexts,那么EditText还有其他的替代方案吗?

  • 问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则

  • 问题内容: 似乎flex div中的内容会影响有关属性的计算大小。难道我做错了什么? 在下面提供的小提琴中,您将看到一个数字键盘。除底行外,所有行均包含3个数字。该行应将“ 0”表示为2个数字的宽度,因此flex-grow: 2,“:”(冒号)应为1个数字的大小,因此。 我在这里想念什么吗? “ 0”的右侧应与其上方的8、5和2对齐。有点不对劲 问题答案: 简短分析 问题在于,第1-3行有两个水平

  • 我正在尝试用自我调整大小的项目实现UICollectionView (flowLayout)。 实现非常简单——我只需设置estimatedItemSize和UICollectionViewCell约束来管理它的大小。 创建集合视图后,第一次重新加载数据时一切正常,但在另一次或其他重新加载时,顶部的少数项目变得与估计的项目大小相同。如果向下和向上滚动,项目大小看起来又很好。 我花了两天时间来研究这