次の画像が表示されるGooglePlayストアのような画像ギャラリーを実装しようとしました。
私はこれに対してさまざまなアプローチを試しましたが、それぞれの行き詰まりにぶつかりました。
1. PagerContainerの使用(ここに情報)しかし、次の画像が表示されず、ViewPagerがその範囲内でのみスクロールするため、このソリューションはどの2.xデバイスでも機能しません(ここに回答が投稿されていないエラー)
2.全面スクロールビューの使用 このソリューションは、デザインと機能の点で私が望んでいたものに適していることが証明されていますが、HorizontalScrollViewは1つの子ビューしかサポートしていないため、ビュー全体を描画するため、一部のデバイスでメモリの問題が発生しました。サーバーから画像を受け取りますが、画像の数もサイズもたくさんあります。そのため、ここでも行き止まりになりました。
3.HorizontalListViewの使用(ここに情報があります) これは、Adapterが使用されたため、HorizontalScrollViewの代替のように聞こえたため、メモリの問題が解決されました。ただし、サーバーから画像が読み込まれると、このクラスを適切に変更して測定値を変更することができませんでした。ご覧のとおり、親の測定値を念頭に置いて子を測定します。ビューを定義すると、画像がサーバーからまだ受信されていないため、測定値が正しくありません。画像を受け取った後、ビューを正しく強制的に再測定することができませんでした。
4. ViewPagerのマージンを負に設定する スクロールを開始すると測定値が正しく表示されなかったため、このソリューションは機能しませんでした。(最初のビューには設定されたマージンが表示され、次の画像が表示されました。ただし、スクロールを開始した後、一部の画像にはマージンがあり、他の画像にはマージンがありませんでした。一部は片側だけです。)ここで常に測定するソリューションがあるかどうかはわかりません。ビューと画面。
あなたがそれが適切なものであると思うなら、私は解決策の1つのコードを投稿することができます。しかし、GooglePlayは私が知らない別のソリューションを使用しているように感じます。ギャラリーはすでに非推奨になっているため、使用したくありません。