【发布时间】:2011-05-06 07:36:36
【问题描述】:
我在将动画应用到 RemoteViews 内的视图时并没有取得太大的成功。
为了简单起见,假设我有一个带有ImageView 和Button 的小部件。单击按钮时,我想向 ImageView 添加一个简单的动画(例如旋转)。
由于我无法使用 findViewById() 获得参考,例如在 Activity 和 RemoteViews 没有动画设置器,我不知道该怎么办。
我正在考虑用新布局替换小部件的 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);
还有什么建议吗?
【问题讨论】:
标签: android animation android-widget widget