Je n'ai pas trop de succès en appliquant des animations aux vues à l'intérieur d'un RemoteViews
. Par souci de simplicité, disons que j'ai un widget avec ImageView
et Button
. En cliquant sur le bouton, je veux ajouter une animation simple à l'ImageView (une rotation par exemple).Widgets Android: Animations sur RemoteViews?
Comme je ne peux pas obtenir une référence en utilisant findViewById()
comme dans un Activity
et RemoteViews
n'a pas de setter pour une animation, je ne suis pas sûr de ce que je devrais faire.
Je pense à remplacer les RemoteViews pour le widget avec une nouvelle mise en page, similaire à l'original mais celui-ci a l'animation déjà chargée. Puis-je faire ceci? Est-il possible d'intégrer une animation dans une mise en page?
code serait quelque chose comme ça pour le 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);
Puis, en RotateService:
ComponentName myWidget = new ComponentName(this, MyWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews newViews = buildNewRemoteViewsWithAnimation();
manager.updateAppWidget(myWidget, newViews);
Toute autre suggestion?
votre Picz pas libre, pouvez-vous donner plus de détails, merci – pengwang
CONFIRMÉS, cette vieille école 'layoutAnimation', [tel que décrit dans ce article] (http://knowledgefolders.com/akc/display?url=displaynoteimpurl&ownerUserId=satya&reportId=2946) fonctionne sur appwidgets. Notez qu'il sera lu sur chaque rafraîchissement de widget complet, donc il ne convient vraiment que comme réaction à l'entrée de l'utilisateur et devrait être désactivé après un certain délai. – user1643723