0

高さの異なる行を持つ GridView が必要です。行内のアイテムではなく、行のみ。アイテムが同じ高さで並んでいます。

私はすでにAndroidのGridViewでそれをやろうとしましたが、奇妙なことがあります。上下にスクロールするとグリッドが歪み、ある時点で上にスクロールするとグリッドが消えます。すべての行を同じ高さにするとうまくいきますが、少し違うとすぐに問題が発生します。

したがって、カスタムビューを作成する必要があるようです。パフォーマンスが非常に高く、メモリ使用量が少ない必要があります。たとえば、相対レイアウトを拡張し、すべてのアイテムを特定の上下マージンで配置するだけで十分でしょうか? または、View を拡張してキャンバスに直接描画しますか? それともスクローラー?

埋め込まれた質問:これは(おそらく、レイアウトを拡張するか、直接ビューを拡張するかによって異なります)、画面に表示されるものだけをロードすることができます(リストは非常に長く、すべてのオブジェクトを一度にメモリに入れたくありません) または、これを自分で実装する必要がありますか?

前もって感謝します!

4

1 に答える 1

0

それをやって「いいパフォーマンス」が得られるとは思えません。Android を効率的にしているのは、ビューのリサイクルです。行ごとに行の高さが異なるため、ビューを効率的な方法で (またはまったく) リサイクルする方法がわかりません。

行の高さの違いがわかっている/わかっているかどうか、およびその数と、それらが予測可能なパターンに含まれているかどうかに依存すると思います。そのため、ビューのリサイクルを処理するカスタム アダプターを設定できます。

上記を判断できる場合は、アダプターを拡張し、ビューのリサイクルを自分で処理することがおそらく答えです。

于 2012-06-29T13:09:39.187 に答える