У меня нет слишком большого успеха, применяя анимацию к представлениям внутри RemoteViews
.
Для простоты, допустим, у меня есть виджет с ImageView
и a 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);
Любое другое предложение?