0

我正在尝试实现与单击通知栏中的“全部清除”按钮时发生的相同类型的动画:

正常 清除所有

这就是我现在所拥有的(对于 a 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 回答