問題タブ [gridlayoutmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - RecyclerView GridLayoutManager:スパン数を自動検出する方法は?
新しい GridLayoutManager の使用: https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.html
明示的なスパン数が必要なため、問題は次のようになります。行ごとにいくつの「スパン」が収まるかをどうやって知るのですか? 結局のところ、これはグリッドです。測定された幅に基づいて、RecyclerView が収まる限り多くのスパンが存在する必要があります。
古い を使用するGridView
と、「columnWidth」プロパティを設定するだけで、適合する列の数が自動的に検出されます。これは基本的に、RecyclerView で複製したいものです。
- に OnLayoutChangeListener を追加します
RecyclerView
- このコールバックで、単一の「グリッド アイテム」を膨らませて測定します
- spanCount = recyclerViewWidth / singleItemWidth;
これはかなり一般的な動作のように思えますが、私が見ていないより簡単な方法はありますか?
android - GridLayoutManager で RecyclerView をスクロールすると ArrayIndexOutOfBoundsException が発生する
RecyclerView
(com.android.support:recyclerview-v7:21.0.2) を使用し、動的な列数GridLayoutManager
を適用しています。ビューがスクロールされると、例外がスローされます。以前に表示されていなかったアイテムを表示しようとすると(再利用または再バインド)、エラーが発生するようです。ただし、そのような動的なスパン/列数を使用しないか、単に行を呼び出す行にコメントを付けないと、それは起こりません。RecyclerView
GridLayoutManager.setSpanCount
ソースコードを調べてみましたが、問題は一時配列に関連しているようmSet
です。
これを解決して、動的なスパン数を持つグリッドを使用できるようにするにはどうすればよいですか? ありがとうございました。
android - アイテム サイズが異なる RecyclerView グリッド
幅と高さが異なるアイテムを割り当てることができる水平スクロール グリッドを作成する必要があります。StaggeredGridLayoutManager
さまざまな幅を処理できますが、高さが異なるアイテムを持つことはできません。必要なことを実行できる実装はありLayoutManager
ますか?
java - ギャラリーを表示するための正方形を作成する方法は?
GridLayoutManager で recyclerview を生成して列を自動スパンするために、このメソッドLINKを使用していますが、holderview の正方形のダミー レイアウトを作成できませんでした。私の意図は、recyclerview を使用してギャラリーを模倣することです。
android - SpanGroupIndex および SpanIndex リサイクラー ビュー
私は GridLayoutManager のドキュメントとその RecyclerView の SpanSizeLookUp クラスを見ていました。しかし、SpanSizeLookUp クラスの getSpanGroupIndex メソッドと getSpanIndex メソッドについてはわかりません。また、任意の数(スパンカウント未満)をオーバーライドして返すことで実験しました。しかし、それが何に使われているかを知ることはできません。
ドキュメンテーションの説明を理解できません。これをクリアしたい。