问题标签 [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 LayoutManager - 即使不可见也强制保留视图
我在两个RecyclerView
. 第一个类似于文件夹列表,将第一项显示为封面,单击它会打开一个新视图,显示文件夹内容,将封面设置为第一项。单击后退会将所有可见视图动画化回它们来自的文件夹(封面是最顶部的视图)。只要打开的文件夹显示第一项,这看起来就很棒。如果我向下滚动第一个项目将在屏幕外,并且后退动画看起来不再那么好,因为封面视图没有动画(我目前只为所有可见视图制作动画)。
我认为可行的方法如下:LayoutManager
可以将第一个项目定位在屏幕外不久的位置,并将其作为特殊视图保存在它的池中,以便您始终可以访问第一个视图,当我动画回到文件夹视图时,我可以制作动画除了所有其他当前可见的项目之外的封面(封面将从屏幕顶部动画)。
这意味着我需要以下内容:
- 必须将
LayoutManager
第一个项目作为未回收的特殊项目处理(我可能随时需要它用于后退动画) - 第一项必须始终布局(在列表中的默认位置,如果它是可见的或直接在屏幕上方的屏幕外),再次因为我可能随时需要它来制作后退动画
有人可以帮我从哪里开始吗?我认为这可以通过扩展来实现,LayoutManager
但我不知道从哪里开始......
android - Recyclerview平滑滚动报错
我正在尝试使用线性布局管理器平滑滚动到 recyclerview 中的某个位置。
void smoothScrollToPosition(int position)
但是,它并不总是正常工作。有时,它会将我带到列表的底部,在日志中,我收到以下错误消息
Passed over target position while smooth scrolling
我在 SO 中找到了这个线程。但是,答案并没有解释为什么会出现错误,它有解决问题的解决方案。很长一段时间以来,我一直试图弄清楚这一点。有人可以解释什么时候会抛出这个错误吗?
android - Android LinearSnapHelper - 如何提高滚动/“捕捉”速度?
我正在使用 aLinearSnapHelper
将我的RecyclerView
“卡”中的项目在屏幕上放置到位(我的卡片占据了屏幕的大部分,所以我希望它们卡到位并在每次滑动/甩动/滚动时填满屏幕)。
我正在为如何让卡片更快地卡入到位而苦苦挣扎。我尝试过创建自定义LinearLayoutManager
(并calculateSpeedPerPixel
在scrollToPosition
or中编辑方法smoothScrollToPosition
)以及自定义RecyclerView
(并编辑 fling 方法)。但没有什么影响卡片“卡入”到位的速度。
我想问题是我真的不明白如何LinearSnapHelper
将卡片“滚动”到位。它似乎没有使用LinearLayoutManager
'sscrollToPosition
或smoothScrollToPosition
方法。
android - 无法将 LinearLayoutManager 转换为 GridLayoutManager
上面的代码崩溃说 java.lang.ClassCastException: android.support.v7.widget.LinearLayoutManager cannot be cast to android.support.v7.widget.GridLayoutManager
我发现下面的行导致崩溃
避免崩溃的解决方案是什么
mLayoutManager 被声明为 LinearLayoutManager
android - 具有回收器视图的线性布局管理器不反转
对于聊天应用程序,我想要一个带有反向项目和布局的回收站视图。从理论上讲,这应该颠倒布局和堆叠顺序,但问题是一次只能工作一个。如果我使用反向布局,它会正确地放在底部,但不会颠倒堆叠顺序。因此,基本上一次只有一种期望的行为起作用,但不能同时起作用。
android - 如何滚动到scrollview内recyclerview中的特定位置?
我对我的查询进行了很多搜索,但没有一个有用。我在根父布局内的滚动视图中有一个 recyclerview 和一些静态数据,如下所示。
我已经设定 -
因为每次我打开活动时,它都会跳转到 recyclerview firstitem,它会跳过 recyclerview 上方的静态数据。
用于平滑滚动。
问题在于——
它不工作。在将适配器设置为 recyclerview 后,我已经设置了上述行。也尝试使用 NestedScrollView 但徒劳无功。
虽然我用过
对于那些跳过代码的人,我将 match_parent 设置为 ScrollView 并将 fillviewport 设置为 true。
这是我的布局。
android - Recyclerview findLastCompletelyVisibleItemPosition 不正确?
既然我addData,并且调用了notifyDataSetChanged(),那么我立即使用findLastCompletelyVisibleItemPosition方法,结果不正确。然后我使用postDelay,结果就正确了,为什么会这样?我怎么知道数据是否完全添加?
android - Recyclerview 无法控制视图
我使用的是RecyclerView
水平LinearLayoutManager
的。我每个视图显示 3 个项目并使用无限滚动。我的问题是它们是 3 张图像,我希望将中间图像放大 2 倍,但我无法控制控制器来解决这个问题,有没有办法做到这一点?
例如)[] [] [] = 一个视图,但中间的一个将是 2X 大小,用户可以左右滚动
代码片段:这是我在活动中初始化适配器的方式:
适配器:
android - 如何使用 HORIZONTAL LinearLayoutManager scrollToPosition RecyclerView
此代码按预期工作:
定位和滚动是垂直的,显示第三项。
现在,如果在上面的代码VERTICAL
中替换为HORIZONTAL
,项目将水平显示并且滚动是水平的(如预期的那样),但setScrollToPosition(2)
不再起作用。
如何scrollToPosition
搭配HORIZONTAL LinearLayoutManager
?
下面提到了我的 XML 文件: