Android 小部件:RemoteViews 上的动画? [复制]

Posted

技术标签:

【中文标题】Android 小部件:RemoteViews 上的动画? [复制]【英文标题】:Android Widgets: Animations on RemoteViews ? [duplicate] 【发布时间】:2011-05-06 07:36:36 【问题描述】:

我在将动画应用到 RemoteViews 内的视图时并没有取得太大的成功。

为了简单起见,假设我有一个带有ImageViewButton 的小部件。单击按钮时,我想向 ImageView 添加一个简单的动画(例如旋转)。

由于我无法使用 findViewById() 获得参考,例如在 ActivityRemoteViews 没有动画设置器,我不知道该怎么办。

我正在考虑用新布局替换小部件的 RemoteViews,类似于原来的布局,但这个布局已经加载了动画。我可以这样做吗?是否可以在布局中嵌入动画?

WidgetProvider 的代码如下所示:

Intent intent = new Intent(context, RotateService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.a_widget);
views.setOnClickPendingIntent(R.id.a_button, pendingIntent);

appWidgetManager.updateAppWidget(appWidgetId, views);

然后在RotateService中:

ComponentName myWidget = new ComponentName(this, MyWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews newViews = buildNewRemoteViewsWithAnimation();
manager.updateAppWidget(myWidget, newViews);

还有什么建议吗?

【问题讨论】:

【参考方案1】:
    创建自定义动画。 创建 ProgressBar 并在 android:indeterminateDrawable 中设置您的动画。 将 ProgressBar 添加到小部件布局并使其可见(不可见)

【讨论】:

你确定它适用于 AppWidgets 吗?

以上是关于Android 小部件:RemoteViews 上的动画? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Android:将位图从本地存储加载到应用小部件(RemoteViews)

如何从 Android 中的 RemoteViews 中删除小部件?

如何处理 Android 中远程视图的异常(自定义小部件或自定义通知)?

Android appwidget remoteviews没有更新

小部件更新的 RemoteViews 超出最大位图内存使用错误

RemoteViews (Widget) 使用 Bitmap 时文本模糊