2010-11-07 46 views
0

J'essaie de créer un appwidget avec un arrière-plan personnalisable. J'utilise un NinePatchDrawable et je voudrais changer sa couleur (en utilisant la méthode setColorFilter). Ce n'est pas un problème dans une activité, mais cela semble possible avec l'objet RemoteView utilisé pour appwidgets.AppWidget: mise à jour d'ImageView avec drawables?

Existe-t-il un moyen de mettre à jour un ImageView dans un appwidget avec un nouveau Drawable, pas un Bitmap?

Ou sinon, peut-être est-il possible d'obtenir la taille réelle de l'appwidget et de convertir/enregistrer le NinePatchDrawable coloré dans un bitmap, puis de mettre à jour le ImageView avec ça?

J'ai déjà cherché un peu pour une solution, mais je n'ai rien trouvé jusqu'à présent. J'espère que ce n'est pas impossible. Merci,

Froghut

Répondre

1

Est-il possible d'obtenir un ImageView dans un appwidget être mis à jour avec une nouvelle Drawable, pas un Bitmap?

setImageViewResource() n'implique pas un bitmap, mais il doit être une ressource.

peut-être il est possible d'obtenir la taille réelle du appwidget

Non, désolé.

J'espère que ce n'est pas impossible.

Ne pas autoriser une gamme infinie de couleurs. Autoriser la personnalisation pour une poignée de couleurs pour lesquelles vous incluez les ressources appropriées.

+0

Eh bien, il me semble que je devrais suivre vos conseils et ne permettre qu'une gamme prédéfinie de couleurs. Merci – Froghut

+0

'peut-être il est possible d'obtenir la taille réelle de l'appwidget': C'est possible. Dites-moi si quelqu'un a besoin du code –

+1

@mnVoh: "C'est possible" - en novembre 2010 (quand la réponse a été écrite), vous ne pouviez obtenir aucune information sur la taille du widget de l'application. Maintenant, vous pouvez obtenir des gammes de taille, mais pas la taille exacte. – CommonsWare