Re: [问题] GridLayoutManager要如何由左至右排列

楼主: atst2 (atst2)   2019-04-07 20:54:45
※ 引述《taco2548 ([email protected])》之铭言:
: 我希望我的RecyclerView是可以左右拖曳,而不是上下拖曳
: GridLayoutManager layoutManager
: = new GridLayoutManager(context, 3, LinearLayoutManager.HORIZONTAL, false);
: 呈现的结果如下
: 00 03 06 09
: 01 04 07 10
: 02 05 08 11
: 我希望呈现的结果如下
: 00 01 02 03
: 04 05 06 07
: 08 09 10 11
: 请问应该要怎么做才能达到我想要的结果
: 设定LinearLayoutManager.VERTICAL虽然有用
: 但会变成上下拖曳
: 请各位大大开释一下
首先,在使用scroll view或类似的元件的时候,必需要有一个认知,
scroll view所呈现的内容,只是整体内容的一部分,在卷动的时候,
整体的内容并没有改变, 而是如下图一般,改变了呈现窗口的位置.
┌──────┐
00 03│06 09 12 15 │18
01 04│07 10 13 16 │19
02 05│08 11 14 17 │20
└——————┘
也因此,Grid Manager所设计的layout,其实考虑的是在N*M的整体内容下
如何去呈现N*P的范围.
以上图来说,就是如何用 3*4的视窗,去浏覧 3*7 的内容
有了这个认知以后,回过头来看你的需求,会立刻面临下面这问题:
不知道整体资料怎么排列
你所考虑的只有目前看到的资料怎么排列, 却忽略了背后有其他资料的可能性。
依据你对原来推文的回复:“几个应该不是重点”
个人推测你应该想要不限数目都能呈现,但照原文的说明,
你的整体资料,超过4*3时,会变成如下排列:
┌──────┐
│00 01 02 03 │12 13? <

Links booklink

Contact Us: admin [ a t ] ucptt.com