是否可以在通知栏中控制动画?
我能够使用此代码进行简单的闪烁:
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()
答案 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);