0

ネットワーク経由で取得した画像が読み込まれた遅延読み込み ListView があります。リスト行は wrap_content に設定されているため、画像が読み込まれるとサイズが変更され、フル スケールの画像が表示されます。下にスクロールすると見栄えがしますが、上にスクロールすると行のサイズが変更され、下の行が画面からはみ出してしまいます。上にスクロールしているときに、この不安定なスクロールを防ぐにはどうすればよいですか?

- - - 編集:

画像はさまざまなサイズのコミックです。あまり高くない 2 ~ 3 フレームのものもあります。他のものは、はるかに背の高い単一フレームのコミックです。画像は全幅を占める必要があり、高さによってコミックの一部が切り取られないようにする必要があります。

4

3 に答える 3

0

私は解決策を考え出しました。画像を受け取ったら、親から幅を取得し、画像ビューの高さをparentWidth * bitmapHeight / bitmapWidthに設定します。そうすれば、行のビューが作成されるときにサイズ変更が行われ、ビットマップのサイズがわかると、リストがそれほどジャンプしなくなります。

于 2012-05-21T15:07:31.470 に答える
0

ダウンロードされたすべての画像がほぼ同じサイズであると想定すると、ほとんどの開発者が使用する適切な解決策は、実際の画像が読み込まれるまで「ダミー」画像を使用することです。このイメージはローカルに存在するため、ほぼ瞬時にロードできます。このgetView方法では、実際の画像がダウンロードされるまでこのダミー画像を表示し、それを単純に置き換えます。これにより、行のサイズが変更されなくなります。

于 2012-05-18T19:00:00.650 に答える
0

このリンクを表示する必要があります。バックグラウンド スレッドで画像をダウンロードします。画像はSDカードとメモリにキャッシュされています.inSampleSizeで画像をデコードしてメモリ消費を減らし、リサイクルされたビューを正しく処理しようとします. 画像が完全にダウンロードされていない場合、偽の画像を再生します。「音楽でごめんなさい!!」

于 2012-05-18T19:32:08.437 に答える