参见英文答案 >
Is there a way to animate on a Home Widget? 5个答案 我没有太多的成功应用动画的视图内的RemoteViews。
为了简单起见,假设我有一个带有ImageView和Button的小部件。当单击按钮时,我想添加一个简单的动画到ImageView(例如旋转)。
由于我无法使用findViewById()得到一个参考,像在Activity和RemoteViews中没有动画设置器,我不知道该怎么做。
我正在考虑用新的布局替换部件的RemoteView,类似于原来的,但是这个动画已经加载了。我可以这样做吗是否可以在布局中嵌入动画?
对于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);
任何其他建议?