通知栏中的驱动动画

时间:2014-06-10 07:57:22

标签: android android-animation android-notifications

是否可以在通知栏中控制动画?

我能够使用此代码进行简单的闪烁:

drawable xml文件:/drawable/tracker_animation.xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@drawable/user_location_on" android:duration="1000" />
    <item android:drawable="@drawable/user_location_on_blick" android:duration="1000" />
</animation-list>

并将其设置为通知构建器:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                    .setSmallIcon(R.drawable.tracker_animation);

但现在我想控制动画。例如,仅在新坐标时运行它。或者将坐标发送到服务器。

我设定了

android:oneshot="true"

我想在我想要的时候手动启动AnimationDrawable动画。 对于其他观点,它是这样做的:

ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
img.setBackgroundResource(R.drawable.spin_animation);

// Get the background, which has been compiled to an AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

// Start the animation (looped playback by default).
frameAnimation.start();

但是NotificationManager我无法.getBackground()

1 个答案:

答案 0 :(得分:0)

为此目的使用动画是错误的方向。

最好使用LevelListDrawable。 但它有code.google.com

中描述的问题

在我的情况下,我只需要展示与互联网的互动,所以我做了一个非常简单,但也许不是很好:

执行请求前

mBuilder.setSmallIcon(R.drawable.user_location_on_blick);
Notification notification = mBuilder.build();
mNotificationManager.notify(notificationId, notification);
获得响应回调后

mBuilder.setSmallIcon(R.drawable.user_location_on);
Notification notification = mBuilder.build();
mNotificationManager.notify(notificationId, notification);