1月11日(火)

サムネイルの表示は画面内に表示される画像が全て読み終えるまで表示しないことでなんとか解決。

ただ読み込み中にスクロールすると、すでに読み込まれた画像は表示されてしまう。

演出的にスクロールしても大丈夫なものにしないと。

あと最初の1枚がすぐに表示されてしまう不具合があるのでそれは後日対処することにする。
1月10日(月)

notifyDataSetChangedで画面の更新

getView

Viewを返すところで

startAnimation

を実行するとイメージのアニメーションが始まるが

2度目に来たときには再度アニメしてしまう。

フラグを用意して「startAnimation」を実行しないと

イメージのアニメーションが止まってしまう。


なのでnotifyDataSetChangedを使わないために

getChildAtを使ってアイテムの位置からViewを取得

getViewでViewの再構成

refreshDrawableStateで指定のViewのみ更新

このようにしたかったが

サムネイル画像読み込み中にスクロールさせると

表示される画像のアイテムの位置と

getFirstVisiblePosition
getLastVisiblePosition

で取得するアイテムの位置が違う。

これはnotifyDataSetChangedを実行して画面の更新を行うとそれがわかる。

さてどうしたものか…。


演出が終わるまでスクロールさせないこともできるが、それはやりたくない。

なんとか解決したいところだが、まだ少し時間がかかる。
1月9日(日)

サムネイルの表示演出の強化中。

画像を読み込んだ順に拡縮&フェードして表示するのだが、最初に画面内に表示される画像の円演出がうまくいかない。

読み込まれた順なのだから、ディレイがかかったように順に表示されていくのだが、同時に、しかもパッと表示されてしまう。

調べてみると notifyDataSetChanged を画像が読み込まれる度、実行していた。

getChildAt で View を取得して、そのView を getView に渡して Viewを作り直し refreshDrawableState でそのView のみを再描画することで解決。

スクロールした後の画面にサムネイルが表示されない不具合もあるのでこれも調べることにする。