Android Widgets:RemoteViews上的动画?

aro*_*ero 22 animation android widget android-widget

我没有太多成功将动画应用于视图中的视图RemoteViews.

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

因为我不能findViewById()像在an中那样使用Activity并且RemoteViews没有动画的setter,所以我不知道该怎么办.

我正在考虑使用新的布局替换窗口小部件的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);
Run Code Online (Sandbox Code Playgroud)

然后在RotateService中:

ComponentName myWidget = new ComponentName(this, MyWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews newViews = buildNewRemoteViewsWithAnimation();
manager.updateAppWidget(myWidget, newViews);
Run Code Online (Sandbox Code Playgroud)

还有其他建议吗?

Yom*_*odo 6

  1. 创建自定义动画.
  2. 创建ProgressBar并在android中设置:indeterminateDrawable你的动画.
  3. 将ProgressBar添加到窗口小部件布局并使其可见(不可见)