20

垂直方向の GridView に項目を読み込むことは可能ですか? つまり...

通常の状況 - 3 列

ここに画像の説明を入力

-----------------------------             
1      |  2      |    3
-----------------------------
4      |  5      |    6

ここに画像の説明を入力

望ましい状況 - 3 列

-----------------------------              
1      |  3      |    5
-----------------------------
2      |  4      |    6

前もって感謝します!

4

8 に答える 8

3

これはまったくありえないと思います。

理由::

  • アイテムを垂直にスクロールしたいので、これを行うには技術的な問題があります。また、画面上の描画項目も縦方向です。この場合、GridView の onLayout および onMeasure メソッドで行う必要がある計算を完了できません。
  • 別の方法を試す場合、つまり、[1,5,2,6,3,7,4,8, ...] としてデータソースをスナッフルすることを提案した人もいますが、この場合、シャッフル アルゴリズムは何でしょうか?
  • ユーザーが垂直方向にフリングする場合、垂直方向にレンダリングする必要があるアイテムの数と、他のアイテムをレンダリングするために次の列に切り替えるタイミングをどのように計算できますか。そのような数式はありません。

私はこれについていくつかの作業を行い、この結論に達しました.これが未回答の質問に回答することを願っています.

于 2014-05-28T10:17:24.533 に答える
0

https://github.com/ApmeM/android-flowlayoutが必要だと思います。子の重力をに設定しますGravity.FILL_HORIZONTAL

vertical彼らはまたはhorizontalオリエンテーションさえ持っています

于 2016-08-05T00:19:29.570 に答える
0

データの順序を変更することはできますか? あなたの例では、データを水平方向の [1,3,5,2,4,6, ...] に、[1,5,2,6,3,7,4,8, ...] に変更します。垂直方向。

于 2013-06-18T10:30:39.760 に答える
0

明確にしてください、このようなグリッドがあるとしましょう

1  4  7
2  5  8
3  6  9

垂直に下にスクロールすると、基本的にはこのようになるはずです??

2  5  8
3  6  9
4  7  10

この場合、

  • アイテム 4 と 7 はリサイクルされず、実際には新しい位置に移動されます
  • 品目 1 はリサイクルされます
  • 項目 10 のみが導入されます

明らかに、これは行が一度にリサイクルされる通常の ListView/GridView の動作ではありません。AFAIK では、この機能を取得するには GridView をカスタマイズする必要があります。

于 2013-02-14T09:40:37.670 に答える