问题标签 [staggeredgridlayout]
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 - StaggeredGridLayoutManager 和移动项目
我创建了一个非常简单的项目,StaggeredGridLayoutManager
通过 recyclerview 显示 28 张图像。但是当我滚动recyclerview时,它会例如从左到右移动项目或交换左右列。
代码:
和适配器:
和一个示例移动项目:
http://i.imgur.com/FUapm2K.gif?1
如果你玩(上下滚动)你会发现更多有趣的动画:-)
如何防止这种情况并像普通列表视图一样拥有稳定的布局?
编辑
android - TwoWayView StaggeredGridLayoutManager 不适用于 StickyHeaders
我正在使用TwoWayView和 StaggeredGridLayoutManager 来创建与 Pinterest 应用程序相同的网格。我还需要在这个视图中实现 StickyHeaders。对于标题,我使用eowise/recyclerview-stickyheaders 之类的项目装饰。问题是:当行的一半有第一个标题而行的一半有第二个标题时,标题覆盖在行的一部分之上(见下文)
x - 第一个标题的项目 y - 第二个标题的项目
xxx
xyy
yyy
所以在这种情况下,标题覆盖了“xyy”行。但它必须看起来像这样:
xxx
x
"hdr"
yyy
yy
(hdr - 表示标题视图)。
所以请帮助我,我正在尝试修复这个很长一段时间并尝试通过不同的方式实现:使用带有自定义布局的 ListView 作为项目,使用 GridView,现在使用这个 - ReclyclerView。
android - RecyclerView + StaggeredGridLayout + Picasso 获取 GridItem 宽度
m 使用RecyclerView
with StaggeredGrid
(spanCount 是可变的)。每个 GridItem (a CardView
) 都包含一个方形 ImageView。我想要的是从我的后端加载一个具有所需宽度和高度的图像,以完全适合 CardView 内的 ImageView。有什么建议我可以做到吗?代码示例如下:
简而言之:在绑定 ViewHolder 之前,我需要以某种方式获取 imageView 尺寸(宽度)。
android - 将 RecyclerView 与 StaggeredGridLayoutManager 一起使用时如何避免项目之间的双倍空格?
我使用 RecyclerView 和 StaggeredGridLayoutManager 来制作一个两列的列表。但是如何在左列和右列之间设置右边距。我已经使用此代码从顶部制作右边距,但如何解决列之间的双重空格。
在活动中:
我试过用view.getX()
,它总是返回0。
谁能帮我?非常感谢!
android - 如何使用 StaggeredLayoutManager 实现无限滚动
我已经尝试为 LinearLayoutManager 实现无限滚动并且它成功并尝试将 LinearLayoutManager 实现复制到 StaggeredGridLayoutManager 但它不起作用。
我只想得到第一个VisibleItem。
在线性布局管理器中:
但在 StaggeredGridLayoutManager 中是:
如何使用(int)而不是(int [])获得firstVisibleItem?
有什么好的方法/实现吗?
提前致谢。
java - StaggeredGridLayoutManager 中的 NullPointerException
我收到一些关于 StaggeredGridLayoutManager 中发生 NullPointerException 的崩溃报告。看起来我的用户中大约有 10% 遇到了这个问题。
我有一个非常基本的 RecyclerView 和一个基本的适配器,没什么特别的,我确实尝试在我的设备中重现这个错误,但一点运气都没有。
这是我收到的原始报告:
我不知道发生了什么。我想也许我在布局管理器之前设置了适配器,但不,事实并非如此。
我希望有人可以对此有所了解。
提前致谢!
更新:
我正在从我的应用程序中复制一些与 RecyclerView 相关的代码。
此代码来自片段:
这是来自适配器,特别是设置适配器项的方法:
android - 带有 CardView 的 StaggeredGridLayoutManager 不适合项目度量
我正在尝试将StaggeredGridLayoutManager与(v22)的CardView一起使用。android.support.v7.widget
这是我的项目的布局:
在模拟器和设备 5.0+ 上,它可以正常工作,但在模拟器 4.xx 上,图像不会调整大小以填充项目的宽度/高度(因为有一个比例类型centerInside不适合项目的度量)。我现在无法在真正的 4.xx 设备上试用它,有谁知道这是否仅在模拟器中或什至在某些真正的 4.xx 设备中存在问题?
从文档http://developer.android.com/reference/android/widget/ImageView.html#setAdjustViewBounds(boolean )] 1
如果应用程序的目标 API 级别为 17 或更低,adjustViewBounds 将允许可绘制对象缩小视图边界,但在所有情况下都不会增长以填充可用的测量空间。
android - 了解 RecyclerView 项目何时首次显示(Android)
我正在尝试使用 Google Analytics Enhanced Ecommerce 在 RecyclerView StaggeredGrid 上发送我的产品的“印象”。每次用户滚动时,我都会检查哪些产品是可见的并发送一个 Hit:
但是当第一次构建 RecyclerView 并且第一个产品可见时,我还需要运行它。
我怎么知道第一批物品已经准备好了?我尝试在 recyclerview 和 onBindViewHolder 上使用 ViewTreeObserver 没有成功。
编辑:这是在viewpager上使用的片段内,所以我需要知道项目何时真正可见而不仅仅是添加。
谢谢
java - 使用 StaggeredGridLayout 预加载毕加索图像
我有一个 StaggeredGridLayoutManager,它在 2 列宽的网格中加载 20 张卡片,其中包含图像(从缓存、网络或 Picasso 存储中加载)。
问题:
目前,当您向下滚动列表时,图像会在卡片滑入视图时加载,如下视频所示:
https://www.youtube.com/watch?v=1xMNmMjqEbI
所需的解决方案:
我想要的是将图像加载到屏幕外,所以有一个像这个视频这样的无缝用户体验:
https://www.youtube.com/watch?v=4c7ZID7yjII
这些视频来自一篇博客文章,该文章使用LinearLayoutManager解决了这个问题,而不是StaggeredGridLayoutManager。我似乎无法找出这个问题的等效解决方案。我对android开发相当陌生,并试图通读文档,但我似乎找不到任何导致解决方案的东西。
代码:
android - 为什么 CardView 在滚动时会自动调整位置
我在我的项目中使用了 RecyclerView 和 CardView,这两个小部件的大多数参数都是默认的,我没有自定义太多,但是出现了两个问题。
- 为什么那些 CardView 在下拉刷新使用 SwipeRefreshLayout 的数据时会闪烁一秒钟,我可以停止这种效果吗?
- 为什么那些 CardView 在滚动时会自动调整位置?我可以停止这种影响吗?
我用于 RecyclerView 的布局是 StaggeredGridLayout,在这里发布代码很不方便,因为我的项目中有太多代码无法使用这些小部件,所以你可以告诉我应该在这里发布哪一部分,谢谢。