问题标签 [linearlayoutmanager]
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 - 水平 RecyclerView 不环绕布局
每个项目应覆盖屏幕宽度的 70%。虽然 70% 的屏幕被填满,但我得到了 30% 的空白空间,下一个项目在它之后开始。这是布局 -
android - RecyclerView - 每次都滚动到不工作的位置
我已经实现了水平滚动RecyclerView
。我RecyclerView
使用 a LinearLayoutManager
,我面临的问题是当我尝试使用scrollToPosition(position)
orsmoothScrollToPosition(position)
或 from时LinearLayoutManager
。scrollToPositionWithOffset(position)
都不适合我。滚动调用不会滚动到所需位置,或者它不会调用OnScrollListener
.
到目前为止,我已经尝试了很多不同的代码组合,因此我无法将它们全部发布在这里。以下是对我有用的(但只是部分):
我因此选择了scrollToPositionWithOffset()
这个,但情况可能有所不同,因为我使用的是 LinearLayoutManager 而不是 GridLayoutManager。但该解决方案也对我有用,但正如我之前所说的,只是部分地。
- 当滚动调用从第 0 个位置到 totalSize - 7 滚动就像一个魅力。
- 当滚动从 totalSize - 7 到 totalSize - 3 时,我第一次只滚动到列表中的最后一项。但是第二次我可以很好地滚动
- 从 totalSize - 3 滚动到 totalSize 时,我开始出现意外行为。
如果有人找到解决方法,我会很感激。这是我的自定义代码的要点ReyclerView
。
android - 如何知道 RecyclerView 什么时候有新的 LayoutManager?
当我们想将视图从线性更改为网格时,我们使用recyclerView.setLayoutManager(layoutManager)
.
但是我们怎么知道设置了一个新的 LayoutManager 呢?
我已经看到我们有该方法LayoutManager.onAttachToWindow(rv)
,并且该方法在内部被调用,setLayoutManager()
但这意味着我们必须重写该方法并使用我们自己的 LayoutManager。
使用addOnLayoutChangeListener()
它是有效的,但它被频繁调用并且用于其他目的。
有没有办法听一个新的布局已经设置?
android - Android: Custom LinearLayoutManager not allowing recyclerView to scroll
I am using a custom LinearLayoutManager to disable/enable scrolling for my recyclerView.
When I use this to set my RecyclerView, its not scrolling at all even when I set isScrollEnabled to true.
Can anyone help?
android - 一个 LinearLayoutManager 只针对一个 RecyclerView?
我正在构建一个在一个片段中包含三个 RecyclerView 的应用程序,以显示项目的水平列表。我创建了一个 LinearLayoutManager 对象并将其设置为所有三个 RecyclerView 。但它使应用程序崩溃,说一个 LinearLayoutManager 只能附加到一个 RecyclerView 。为什么我不能附加到所有虽然我需要相同的属性。代码是..
错误在
android - 如何自定义 LinearLayoutManager?
喜欢这个效果(显示一半)是怎么实现的,我尝试使用 custom LinearLayoutManager
,但是因为看不懂onMeasure
方法而失败了。
android - RecyclerView LinearLayout 管理器在横向模式下总是返回 -1 - findLastCompletelyVisibleItemPosition()
我findLastCompletelyVisibleItemPosition()
用来确定我的 RecyclerView 中的最后一个可见项目。
这是我如何设置布局的代码片段:
布局 XML:
在纵向模式下,这可以正常工作并始终返回正确的位置。
但是在横向模式下,返回的位置始终为 -1。
我的问题是:
有谁知道为什么会这样?
我如何才能覆盖它以返回正确的位置?
或者任何人都可以推荐另一种解决方案来获得景观中最后一项的正确位置?
android - 无论 RecyclerView 和 LinearLayoutManager 的项目计数如何,如何在顶部显示项目?
我有一个项目清单。这些项目按日期排序。当用户打开应用程序时,日期之前的项目(“旧”项目)应该不可见,但用户应该能够通过滚动列表到顶部来查看它们。
我找到position
了未来日期的第一个项目(“新”项目)并调用recyclerView.scrollToPosition(position)
.
我也试过了layoutManager.scrollToPositionWithOffset(position, 0)
。
如果列表中有许多“新”项目,则此方法有效。
但如果项目太少(例如,一个“旧”和一个“新”),则这些方法不起作用。
无论列表中有多少项目,如何以编程方式滚动列表到给定位置的项目以将此项目放在顶部?
android - 在垂直 RecyclerView 中显示水平 RecyclerView 时获得闪烁效果
我有一个Vertical
RecyclerView
,这个垂直的RecyclerView's
每个项目都包含Horizontal RecyclerView
。因此,当我滚动Vertical RecyclerView
垂直列表闪烁并给出不良行为时,除了性能因素外,我已经做到了这一点并且工作正常。我设置Adapter
的水平RecyclerView
是在垂直内RecyclerView
,所以每次滚动时我都会创建一个新的适配器并设置数据,实际上这会导致性能。有没有办法优化这个?
代码