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