问题标签 [staggeredgridlayoutmanager]
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.
android - ViewPager中带有StaggeredGridLayoutManager的RecyclerView,返回fragment时自动排列item
我在我的应用程序中使用导航组件,使用谷歌高级示例(此处)。我的问题是返回片段时,滚动位置不会丢失,但它会重新排列项目并移动最高可见项目,以便这些项目的顶部与 recyclerview 的顶部对齐。请看这个:
在进入下一个片段之前:
然后回到片段:
这个问题很重要,因为有时单击的项目会下降并且直到向下滚动才能看到。如何防止这种行为?
请考虑:
如果使用导航组件更改片段,则存在此问题。如果启动片段使用
supportFragmentManager.beginTransaction()
或启动另一个活动,然后转到该片段就可以了。但是如果我使用导航组件导航到另一个片段,则存在此问题。(可能是因为重新创建片段)如果在 ViewPager 中使用片段也存在此问题。即,recyclerView 位于使用 ViewPagerAdapter 处理的片段中,而 viewPager 位于使用 Navigation 组件打开的 HomeFragment 中。如果 recyclerView 在 HomeFragment 中没有问题。
LinearLayoutManager 没问题。仅使用 StaggeredGridLayoutManager。
如果使用 ViewPager2 和 FragmentStatePagerAdapter 没有区别
我试图防止重新创建片段(通过这个解决方案)但没有解决。
更新:你可以从 这里克隆有这个问题的项目
android - StaggeredGridLayoutManager 动态大小
我一直在尝试使用StaggeredGridLayoutManager
来复制 DISCORD 的 gif finder 的布局,如下所示
我正在设置如下布局
我想将所有项目修复到它们的空间中,而不是像第一个屏幕截图那样有所有这些间隙。(没有间隙)
我尝试在我的适配器中执行此操作(https://www.javaer101.com/en/article/14809883.html)
这是行不通的,因为它将项目变成匹配父项的大小,这意味着每行一个项目。
有谁知道如何在不使用库的情况下实现这一目标
android - StaggeredGridLayoutManager 列表滚动时的奇怪效果
我必须实现一个图像列表,例如 pinterest 的图像列表(具有不对称行的网格),并且我StaggeredGridLayoutManager
在我的片段中以这种方式使用:
场景片段
由于此图像列表是分页的,因此我 onViewCreated
将其称为方法:
它工作正常,它可以正确加载图像。
这是适配器
问题是这样的:当显示片段时,我显示了 10 个项目。当我向下滚动时,它工作得很好。但是当我回去,向上滚动时,这些项目会做一个动画,就像它们被重新排序或重新加载一样,它每次都会改变。谁可以解决这个问题?
PS:问题与分页无关,我尝试只获取第一页,尺寸很大,但问题仍然存在。
android - 安卓。StaggeredGridLayoutManager 确定跨度索引
我使用recycleView
with StaggeredGridLayoutManager
(列数为 3)。我需要确定当前单元格位于哪一列(按位置)。是否有可能做到这一点?请帮我。注意:我的单元格的高度不同(正方形或矩形)
android - 安卓。StaggeredGridLayoutManager 将单元格放置在错误的位置
我使用带有 StaggeredGridLayoutManager 的 recyclerView。我有两列,列中的单元格可以有不同的高度。这些物品的位置很好,但是在某些设备上我注意到了以下问题。假设我有一个元素列表:A、B、C、D、E、F、G、H。在视觉上,它看起来像这样:
我预计 G 元素将位于左列,因为这些元素是从左到右定位的,请告诉我这种行为可能是什么原因。我需要元素位于左列。G元素应该适合左栏的空闲位置,但它位于右侧,这对我来说是不正确的 这只能在某些设备上播放。我希望这个元素的顺序,在左栏中:A,C,E,G,在右栏中:B,D,F,H。我尝试将 gapStrategy 设置为 GAP_HANDLING_NONE,但之后我的项目没有显示:
android - StaggeredGridLayoutManager 抛出异常
我正在使用带有StaggeredGridLayoutManager的回收器视图。当我尝试更改适配器中的数据并反复调用notifyDataSetChanged时,我的应用程序将因 StaggeredGridLayoutManager 中的 ArrayIndexOutOfBoundException 而崩溃。在查看了一些 stackoverflow 答案后,我尝试在调用notifyDataSetChanged之前添加一个isComputingLayout检查。但它也不起作用。所以我正在寻求你的帮助。我附上下面的错误。提前致谢。
android - 分页不适用于交错网格布局android
您好,我试图在我的 recylerview 中包含分页,但不知道为什么它不适用于 staggeredgrid 布局 这是我正在寻找的问题,因为答案是针对线性布局管理器的,我得到了如何在 staggerdgrid 布局管理器中实现分页的答案, 这是我实施后在我的代码中尝试了图像未加载
ScreenShot // 我现在得到什么的 ss
短代码
完整代码
更新 1
添加了 adapter.class
android - 如图所示,如何实现交错布局管理器的高度
我正在使用 Recycler 视图和 StaggeredGridLayoutanager 我只想实现我的应用程序,如下图所示
我只想管理交错网格布局管理器,忽略课程名称和背景图像的差异