問題タブ [staggeredgridlayout]
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 - StaggeredGridLayoutManager と移動アイテム
StaggeredGridLayoutManager
recyclerviewで 28 枚の画像を表示する非常に単純なプロジェクトを作成しました。しかし、リサイクルビューをスクロールすると、たとえば左から右にアイテムが移動したり、左右の列が入れ替わったりします。
コード:
そしてアダプター:
とサンプル移動アイテム:
http://i.imgur.com/FUapm2K.gif?1
再生 (上下にスクロール) すると、さらに興味深いアニメーションを見つけることができます :-)
それを防ぎ、通常のリストビューのように安定したレイアウトにする方法は?
編集
android - TwoWayView StaggeredGridLayoutManager が StickyHeaders で機能しない
私はStaggeredGridLayoutManager でTwoWayViewを使用して、Pinterest アプリと同じグリッドを作成しています。また、このビューに StickyHeaders を実装する必要があります。ヘッダーには、アイテムの装飾のようなeowise/recyclerview-stickyheadersを使用しています。問題は、行の半分に最初のヘッダーがあり、行の半分に 2 番目のヘッダーがある場合、行の一部の上にヘッダーがオーバーレイされることです (以下を参照)。
x - 最初のヘッダーの項目 y - 2 番目のヘッダーの項目
xxx
xyy
yyy
したがって、この場合、ヘッダーは行「xyy」をオーバーレイします。ただし、次のように見える必要があります。
xxx
x
"hdr"
yyy
yy
(hdr - ヘッダー ビューを意味します)。
だから私を助けてください、私はこの非常に長い時間を修正しようとしていて、さまざまな方法で実装しようとしています:項目としてカスタム レイアウトで ListView を使用し、GridView を使用し、今はこれ - RelyclerView を使用しています。
android - StaggeredGridLayoutManagerでRecyclerViewを使用するときに、アイテム間のダブルスペースを回避するにはどうすればよいですか?
RecyclerView を StaggeredGridLayoutManager と共に使用して、2 列のリストを作成しています。しかし、左の列と右の列の間に右マージンを設定する方法。このコードを使用して上から右マージンを作成しましたが、列間の二重スペースを解決する方法.
そしてアクティビティで:
を使用しようとしましたがview.getX()
、常に 0 を返します。
誰でも私を助けることができますか?どうもありがとう!
java - StaggeredGridLayoutManager の NullPointerException
StaggeredGridLayoutManager で発生している NullPointerException に関するクラッシュ レポートをいくつか受け取っています。ユーザーの約 10% がこの問題に苦しんでいるようです。
私は基本的なアダプターを備えた非常に基本的な RecyclerView を持っていますが、特別なことは何もありません。デバイスでこのエラーを再現しようとしましたが、運がまったくありませんでした。
これは私が報告されている生のレポートです:
何が起こっているのかわかりません。レイアウトマネージャーの前にアダプターを設定していたのではないかと思いましたが、そうではありません。
誰かがこれに光を当ててくれることを願っています。
前もって感謝します!
アップデート:
RecyclerView に関連するアプリからいくつかのコードをコピーしています。
このコードはフラグメントからのものです:
これはアダプターからのもので、具体的にはアダプター項目を設定するメソッドです。
android - RecyclerView アイテムが初めて表示されるタイミングを知る (Android)
Google アナリティクス拡張 e コマースを使用して、RecyclerView StaggeredGrid で製品の「インプレッション」を送信しようとしています。ユーザーがスクロールするたびに、どの製品が表示されているかを確認し、ヒットを送信します。
ただし、RecyclerView が初めてビルドされ、最初の製品が表示されるときにも、これを実行する必要があります。
最初のアイテムの準備ができたことをどうやって知ることができますか? Recyclerview と onBindViewHolder で ViewTreeObserver を使用してみましたが、成功しませんでした。
編集:これはビューページャーで使用されるフラグメント内にあるため、アイテムが追加されるだけでなく、いつ実際に表示されるかを知る必要があります。
ありがとうございました
java - StaggeredGridLayout を使用して Picasso 画像をプリロードする
2列幅のグリッドに画像(キャッシュ、ネットワーク、またはPicassoのストレージからロードされた)を含む20枚のカードをロードするStaggeredGridLayoutManagerがあります。
問題:
現在、リストを下にスクロールすると、このビデオのようにカードがスライドして表示されるように画像が読み込まれます。
https://www.youtube.com/watch?v=1xMNmMjqEbI
望ましい解決策:
私が実現したいのは、画像がオフスクリーンで読み込まれるようにすることです。そのため、このビデオのようなシームレスな UX があります。
https://www.youtube.com/watch?v=4c7ZID7yjII
これらのビデオは、StaggeredGridLayoutManagerではなくLinearLayoutManagerを使用してこの問題を解決するブログ投稿からのものです。この問題の同等の解決策を見つけられないようです。私はAndroid開発にかなり慣れていないため、ドキュメントを読み込もうとしましたが、解決策につながるものを見つけることができないようです.
コード:
android - スクロール時に CardView が自動的に位置を調整する理由
プロジェクトで RecyclerView と CardView を使用しています。これら 2 つのウィジェットのほとんどのパラメーターはデフォルトで、あまりカスタマイズしていませんが、2 つの質問がありました。
- SwipeRefreshLayout を使用しているデータをプルダウンして更新すると、これらの CardViews が 1 秒間点滅するのはなぜですか? この効果を停止できますか?
- スクロール時にこれらの CardViews が自動的に位置を調整するのはなぜですか? この効果を止めることはできますか?
RecyclerView に使用しているレイアウトは StaggeredGridLayout です。プロジェクトにコードが多すぎてこれらのウィジェットを使用できないため、ここにコードを投稿するのは不便です。そのため、ここに投稿する必要がある部分を教えてください。