Java 回收器视图GridLayoutManager-每行的权重
我正在尝试使用GridLayoutManager实现一个RecyclerView,它完成以下行为:Java 回收器视图GridLayoutManager-每行的权重,java,android,android-layout,android-recyclerview,Java,Android,Android Layout,Android Recyclerview,我正在尝试使用GridLayoutManager实现一个RecyclerView,它完成以下行为: ------------- | | | | ------------- | | | | | | ------------- | | | | | | ------------- | | | | | | ------
-------------
| |
| |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
其思想是,第一个项目始终占据整行,然后将下一行划分为3个空间,2个项目,其中一个项目的权重为2,另一个项目的权重为1(类似于线性布局)
如何实现这种行为?正如塞尔文所建议的那样,我找到了custom LayoutManager,发现覆盖getSpanSize()方法对我来说是可行的
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
Category item = mCategories.get(position);
return item.weight;
}
});
正如Selvin所建议的那样,我找到了CustomLayoutManager,发现重写getSpanSize()方法对我来说是可行的
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
Category item = mCategories.get(position);
return item.weight;
}
});
通过实现own
RecyclerView.LayoutManager
通过实现ownRecyclerView.LayoutManager
但这只会更改项目占用的跨距数。它不会改变跨度重量本身。例如,如果总跨距计数为4,此方法返回3,则该项将占行的75%,但跨距仍然相等。有没有办法改变跨度本身的重量?即跨距计数为2,但跨距权重不同?但这只会更改项目占用的跨距数。它不会改变跨度重量本身。例如,如果总跨距计数为4,此方法返回3,则该项将占行的75%,但跨距仍然相等。有没有办法改变跨度本身的重量?即跨度计数为2,但跨度重量不同?