1

それぞれが複雑なレイアウトを含む複数のスクロール可能なフレームを表示するギャラリーがあります。これらのレイアウト要素の 1 つはゲージのようなカスタム ビューで、作成されるだけでなく、表示されるたびにアニメーション化する必要があります。したがって、このビューを含むレイアウトに一度スクロールしてから戻って、もう一度そこにスクロールすると、アニメーションが実行され、ユーザーに表示されるはずです。

そのための適切なコールバックが見つかりませんでした。私がすでに試したことはオーバーライドです:

onDraw

onLayout

onAttachedToWindow

onDisplayHint

onVisibilityChanged

まったく呼び出されないものもあれば、実際に表示されたときではなく、ギャラリーがビューを再初期化するときにのみ呼び出されるものもあります。

よろしくお願いします!

4

1 に答える 1

1

getViewギャラリーのアダプターをオーバーライドしてみてください:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    /* trigger your animation on this view */
    return view;
}

がいつ呼び出されるかについての明示的な契約はありませんがgetView、問題のビューが画面に表示されたときに呼び出す必要があります。

于 2011-03-30T15:07:02.443 に答える