gpt4 book ai didi

android - 通知栏自定义 View 中的动画

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:31 35 4
gpt4 key购买 nike

据我所知,我们可以使用通知管理器 + 远程 View 在 Android 中创建通知。

我正在创建一个下载 Mp3 文件的通知。我想要它旁边的动画。到目前为止,我从论坛上了解到这是不可能的。

但是我看到了一个安卓应用程序的视频,它在下载时下载并在旁边显示动画。链接:http://www.youtube.com/watch?v=yNcs-sS2nFU&feature=related

谁能告诉我实现它的最佳方法。

最佳答案

我发现在通知中显示自定义动画的最佳方法是使用 AnimationDrawable 作为具有 ID 的资源。然后在发布通知时只需指定可绘制资源 ID。不需要进一步的代码来更新动画的每一帧。动画可绘制对象会为您处理。

这是文档的链接:http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

例如,您需要:

  1. 将 xml 文件(例如“wheelAnim.xml”)添加到您的 res/drawable/ 文件夹,其中包含以下内容:

    <!-- Animation frames are wheel0.png -- wheel5.png files inside the
    res/drawable/ folder -->
    <animation-list android:id="selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
    </animation-list>
  2. res/drawable/ 文件夹也是如此。

  3. 在您的代码中使用动画列表的资源 ID(在此示例中为“R.drawable.wheelAnim”)。例如:

    Notification notification = new Notification(R.drawable.wheelAnim, null,
    System.currentTimeMillis());

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
    new Intent(), 0);

    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    notification.setLatestEventInfo(this, getText(R.string.someTitle),
    getText(R.string.someText), pendingIntent);

    ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)).notify(
    uid, notification);

关于android - 通知栏自定义 View 中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688052/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com