我做了一些研究,发现扩展状态栏区域可以有一个进度条,但我仍然不确定动画图标是否可能。我已经尝试过这个问题的答案:通知栏自定义视图中的动画。但是,该图标不是动画的。如果不可能,您能否指出任何证实这一点的文件?提前致谢。
1 回答
您引用的问题中的视频(我承认我没有看到与我提供的链接之一相同)清楚地显示了一个动画图标。大约在 0 点 35 分。 http://www.youtube.com/watch?v=yNcs-sS2nFU&t=0m32s(此链接跳转到该部分)。箭头有一条小黑线反复向下移动。对我来说似乎是动画。那是你要的吗?
无论如何,那是什么Android版本?也许这是 T-Mobile 定制的东西,我不知道,它只是 YouTube 上的一些视频。
您可以为通知创建自定义视图,例如:http ://www.roman10.net/android-custom-notification-with-progress-bar/ 您也许可以对动画可绘制使用类似的想法(相同再次提问)Roman10 的默认 android 图像在哪里。
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.noti);
contentView.setImageViewResource(... your animated resource ...);
编辑
因此,据我所知,最终 RemoteViews 不支持图像资源中的动画。但我想出了一种解决方法,它可能很昂贵,但我还没有分析它来查看 CPU 的使用情况。
我从 roman10 的代码开始(上面的链接)并进行了一些修改。
yinyangAnim.xml + 动画帧 .png 文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/yinyang0" android:duration="150" />
<item android:drawable="@drawable/yinyang1" android:duration="150" />
<item android:drawable="@drawable/yinyang2" android:duration="150" />
<item android:drawable="@drawable/yinyang3" android:duration="150" />
<item android:drawable="@drawable/yinyang4" android:duration="150" />
<item android:drawable="@drawable/yinyang5" android:duration="150" />
</animation-list>
将另一个线程创建添加到开始按钮单击:
new Thread(new Runnable() {
public void run() {
int frameIndex = 0;
mRun = true;
while (mRun) {
++frameIndex;
SystemClock.sleep(100);
BitmapDrawable frame = (BitmapDrawable) yinyangAnimation.getFrame(frameIndex);
noti.contentView.setImageViewBitmap(R.id.status_icon, frame.getBitmap());
nm.notify(STATUS_BAR_NOTIFICATION, noti);
if (frameIndex >= yinyangAnimation.getNumberOfFrames()-1) {
frameIndex = 0;
}
}
}
}).start();
添加到 ProgressBarNotificationActivity.onCreate()
ImageView yinyang = new ImageView(this);
yinyang.setBackgroundResource(R.drawable.yinyang_anim);
yinyangAnimation = (AnimationDrawable) yinyang.getBackground();
当然还有私有变量:private AnimationDrawable yinyangAnimation;
按下应用程序中的开始按钮并查看通知会为我显示旋转的阴阳。我在 loadinfo.net 获得了 yin-yang 并使用 ImageMagick 命令行 (ubuntu) 将其拆分。