0

通知バーの「すべてクリア」ボタンをクリックしたときに発生するのと同じ種類のアニメーションを実装しようとしています:

通常クリアオール

これは私が今持っているものです(の場合ListView)が、正しく機能していません。タイミング/一時停止のためだと思います。

Animation animation = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_out_right);
animation.setDuration(300);

int count = mNotificationList.getCount();
for (int i = 0; i < count; i++) {
    View view = mNotificationList.getChildAt(i);

    if (view != null)
        view.startAnimation(animation);
}

誰もがアニメーションを達成する方法を知っていますか?

4

1 に答える 1

0

このような効果を得るには、Animationアイテムごとに異なる を使用する必要があります。メソッドを使用して異なる開始オフセットを簡単に設定できますAnimation.setStartOffset(long)

コードは次のようになります。

int count = mNotificationList.getCount();
for (int i = 0; i < count; i++) {
    View view = mNotificationList.getChildAt(i);
    if (view != null) {
        // create an Animation for each item
        Animation animation = AnimationUtils.loadAnimation(
            getActivity(),
            android.R.anim.slide_out_right);
        animation.setDuration(300);

        // ensure animation final state is "persistent"
        animation.setFillAfter(true);

        // calculate offset (bottom ones first, like in notification panel)
        animation.setStartOffset(100 * (count - 1 - i) );

        view.startAnimation(animation);
    }
}
于 2013-02-19T15:16:36.103 に答える