问题描述
这似乎是一个简单的解决方案,但似乎设置
This seems like it would be an easy solution, but it seems that setting
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private LinearLayoutManager mLayoutManager;
.... // More code
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
// Add item decoration
mRecyclerView.addItemDecoration(new SpacesItemDecoration(DIVIDER_SPACE));
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
mRecyclerView.setHasFixedSize(true);
// use a linear layout manager
mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true); // THIS ALSO SETS setStackFromBottom to true
mRecyclerView.setLayoutManager(mLayoutManager);
似乎还设置了从底部堆叠的项目
Seems to also set the items to stack from the bottom
我尝试将 setStackFromBottom
设置为 false 但这没有任何作用,什么是颠倒项目顺序但仍从顶部填充的最佳方法?我应该改用自定义比较器类吗?我希望这比创建另一个类更容易.
I tried to set setStackFromBottom
to false but that didn't do anything, what would be the best way to reverse the items order but still populate from the top? Should I use a Custom Comparator class instead? I was hoping this would be an easier process than creating another class.
推荐答案
用于反转项目遍历和布局顺序.这与 RTL 视图的布局更改类似.当设置为 true 时,第一项布置在 UI 的末尾,第二项布置在它之前等等.对于水平布局,这取决于布局方向.设置为true时,如果RecyclerView为LTR,则从RTL布局,如果RecyclerView}为RTL,则从LTR布局.如果您正在寻找与 setStackFromBottom(boolean)
完全相同的行为,请使用 setStackFromEnd(boolean)
所以,也尝试使用 setStackFromEnd(boolean) 在你的 LinearLayoutManager 实例上,
So, try also using setStackFromEnd(boolean) on your LinearLayoutManager instance,
LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
这篇关于LinearLayoutManager setReverseLayout() == true 但项目从底部堆叠的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!