問題タブ [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 - RecyclerView が最初の項目の上でスクロールしすぎて、スクロール中にちらつくのはなぜですか?
編集:問題は解決しました!!
RecyclerView
スクロール中にちらつきます。1 画面に 5 ~ 6 個の項目があります。下にスクロールすると、画面がちらつき、スクローラーがRecyclerView
. その後、もう一度上にスクロールするとReccyclerView
、最初の項目の上にスクロールしすぎます。上下にスクロールするプロセスを非常に速く繰り返すと、リサイクラー ビューが完全に下にスクロールし、空の背景だけが残ります。その後、どちらにスクロールしても何も表示されません。この後、スクローラーは再び動作しません。
を使用してLucasr Two Way View
います。私が議論している問題は、recyclerView.Adapter と UIL の奇妙な点でも言及されていますが、まだ解決されていません。に 20 枚を超える画像があり、さらにRecyclerView
増やすことができます。各画像のサイズは 100kb を超えています。
画像を読み込むためにUniversal Image Loader(UIL)
、キャッシュを有効にしてみました。しかし、それは役に立たなかった.ちらつきはUIL
. 私もテストしましGLIDE
たが、問題はまだあります。
より明確にするために、私のADM
.
ここに私のホルダークラスがあります:
}
RecyclerView へのアダプターの設定方法は次のとおりです。
android - StaggeredGridLayoutManagerからセル幅を見つける方法は?
に があり、StaggeredGrid
でRecyclerView
画像の高さを動的に設定しようとしていonBindViewHolder
ます。StaggeredGrid
はこれをすべて自動的に処理するはずだと思ったので、 に と を設定android:layout_width="match_parent
しandroid:scaleType="fitStart
ましたImageView
が、画像の周りに多くのギャップがあります。
はそれに対応してStaggeredGrid
いないため、 で画像の高さを動的に定義することで少し助けようとしていonBindViewHolder
ます。画像の幅と高さは事前にわかっていますが、グリッドのセル幅がありません。holder.cardView.getLayoutParams().width
とを試しgetMeasuredWidth()
ましたが、どちらもゼロまたは小さい数値を返します。onBindViewHolder
セル幅を利用できる場所が他にもあることは知っていますが、画像を設定および調整できるように、イベントで本当に必要です。
を活用してこれを達成する方法についてのアイデアはありStaggeredGrid
ますか?アドバイスや経験は大歓迎です!
私の活動ではこれです:
私のアダプターでは:
私のレイアウトでは:
また、これを追加してセル幅を指定しようとしましたが、onGlobalLayout
イベントで画像が設定および調整された後にイベントがトリガーされるonBindViewHolder
ため、手遅れです。
これは、さまざまな画像サイズによるランダムなギャップです。私が望むのは、すべての画像がセルの幅になり、画像とセルの高さを動的に調整できるようにすることです。
android - StaggeredGridLayout への非同期画像ダウンロード
さまざまなサイズの画像を指す URL のリストがあります。それらをずらした垂直グリッドで表示し、各画像の幅を伸ばして1行を占有し、高さを伸ばしてスケーリングされた画像を包み込みたいと思います。すべてが次のようになります。
http://www.technotalkative.com/wp-content/uploads/2014/04/staggered-gridview-in-android.png
RecycleView と StaggeredGridLayoutManager を使用しています。残念ながら、私はそれをうまく機能させることができません。
これは、表示したいアイテムのクラスです。
アイテムに対応する XML:
アダプター:
そして、すべてが呼び出されるフラグメント:
最初のいくつかの画像は正常に表示されますが、下にスクロールすると、すべての画像が 1 列に表示され始めます。次に、リストの一番上までスクロールすると、まだダウンロードしていない画像までスクロールダウンするまで、すべてがまとめられ、画像が 2 列に表示されます。問題は、ダウンロードする前に各画像のサイズがわからないため、各アイテムのサイズを事前に設定できないことです。
うまくいけば、誰かが以前にこれに遭遇して解決したか、単に私よりもこれについてよく知っていて、私がそれを機能させるのを手伝ってくれることを願っています.
Etsy の Staggered GridView も試してみましたが、同様の、さらに悪い結果が得られました。
android - Scroll StaggeredGrid RecyclerViewでSwipeRefreshLayoutとEndless Fuctionを制御するには?
StaggeredGrid RecyclerView を Endless および SwipeRefreshLayout と組み合わせてみました。しかし、私は自分のコードに問題があります:
上記のコード、問題が発生します:
エンドレス位置で、
getMoreNewsFromServer();
常に呼び出されます (通常: 1 つ呼び出されます)。無限の位置で、mSwipeRefreshLayout が呼び出されます
リストビューを使用した場合、次のように機能します:
それで、それを修正する方法は?
android - 利用可能な画面幅を使用するためにずらしたグリッドスパンカウントを設定する方法は?
いくつかのサムネイルを表示するために垂直 StaggeredGridLayoutManager を使用しています。各行には、幅 1 インチ、高さ 150 dp のカードビューが含まれています。私の質問は、画面の利用可能な物理的な幅を使用するために、ずらしたグリッドスパンカウントを設定するにはどうすればよいですか?
CardViewRow.xml
現在、私はこのコードを使用しています。(クレジット: mstrengis)
/* これは私の nexus 5 と samsung タブでは完璧に動作しますが、私の lenovo フォンではカードの幅が 1.5cm 未満で、スパン カウントが予想以上です.*/
android - StaggeredGridLayoutManager の spanindex を維持する方法
2 SpanCount の StaggeredGridLayoutManager で RecyclerView を使用しています。各項目は以下のレイアウトになっています。
デフォルトでは、TextView (id/feed_caption) は表示されません。項目をクリックすると表示されます。現在、表示によって近くのアイテムがスパンインデックスを変更し、recyclerview のレイアウトが非常に複雑に変更されます。(アニメーションを追加しようとしています)。
私が達成したいのは、すべてのアイテムが独自のスパンインデックスに残ることです。私は検索しましたが、1つのアプローチが見つかりませんでした。何かアドバイスをお願いできますか?ありがとう。
[編集]問題を説明するためにアニメーションを追加してみてください (可能であれば、stackoverflow で直接表示できるようにしてください)
android - GridLayoutManager の可変列数
RecyclerView を使用しているときに、GridLayoutManager の行に可変数の列を表示したかったのです。表示される列の数は、列の TextView のサイズによって異なります。
テキストが動的に挿入されているため、列幅がわかりません。
誰でも助けることができますか?StaggeredGridLayoutManager は、高さをカスタマイズしますが、固定数の列を取るため、私の目的を解決していません。