2010-05-04 7 views
0

J'ai le problème suivant.Android ImageView dessiner

Je travaille avec une bibliothèque de cartes qui peint les icônes sur la carte en utilisant des drawables et de la toile.

Maintenant, j'essaie de le modifier afin que l'utilisateur puisse cliquer sur les icônes. Donc, je veux attacher drawables dans différents ImageView avec un onClickListener.

Cependant, je ne sais pas comment je peux peindre l'ImageView en utilisant canvas de la méthode onDraw.

J'ai essayé avec:

ImageView iv = new ImageView(context); 
iv.setDrawableResource(drawable); 
iv.draw(c) 

Mais cela n'apparaît dans l'écran.

Une idée? Merci

Répondre

1

Vous pourriez avoir plus de chance si vous fournissiez plus de contexte - que représente "c" ici? Mais dans tous les cas, vous ne pouvez pas créer de nouvelles images, vous devez les attacher à votre mise en page, soit en les gonflant avec un argument de vue parent à partir de XML, soit en appelant le programme addView() par défaut.

Généralement, vous appelez rarement les méthodes draw() à la main (sauf si vous implémentez une vue personnalisée quelconque); vous allez gonfler vos vues à partir de XML dans votre mise en page, ou bien instancier vos vues, définir les LayoutParams dont vous avez besoin et les ajouter à une mise en page. Les bibliothèques d'interface utilisateur Android gèrent la détermination lorsque les vues standard sont invalidées et doivent être redessinées, pour des raisons de performance et votre propre santé mentale.