首页 > 解决方案 > 为什么为回收站请求布局会停止布局操作?

问题描述

设想:

当我的 ViewPager 在一侧被点击时,下一个/上一个视频会动画到屏幕上。
示例:
视频 01 -> 视频 02(从右到左观看)
第 3 步 2 步骤1


问题:

点击for跳转到下一个视频后,过渡卡在中间: 卡住

除了 ViewPager,UI 仍在响应。ViewPager 仅卡住了几秒钟。这个问题通常发生在第一次点击。


架构和逻辑

ConstraintLayout 其中包括:
-
ViewPager 顶部的 viewpager:
- 工具栏
- RecyclerView(蓝线和下方的文本)

当viewpager由于单击而滚动时,我使用以下功能:

onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int)

通过使用此数据,我正在更改回收站项目范围(layoutParams)


我发现了什么:

当不更改回收站 itemView layoutParams
将回收站 itemView 设置为 MATCH_PARENT(仅用于测试,我必须使用 WARP_CONTENT)并更改 layoutParams 时,viewPager 工作正常。

我已经尝试在 80 毫秒内更新一次回收器项目(真的很慢)并且 UI 仍然冻结。所以我不明白:
-为什么会发生
-为什么在更新回收站项目时,viewpager 会卡住几秒钟-to 视图之间没有联系。

标签: androidandroid-layoutuser-interface

解决方案


推荐阅读