^
ImageView |
|
Actual image |
|60px height of ImageView
|
|
|
<------------------------------------------------>
90px width of ImageView
J'ai une vue d'image avec une hauteur et une largeur par défaut, les images sont stockées dans la base de données et je veux mettre à l'échelle l'image selon la hauteur et la largeur de la vue d'image. Je ne veux pas qu'elle donne des valeurs par défaut, car si je modifie sa hauteur et sa largeur, je dois également le faire dans le code.
J'essaie d'obtenir la hauteur et la largeur de l'ImageView mais 0 m'est renvoyé dans les deux cas.
int height = ((ImageView) v.findViewById(R.id.img_ItemView)).getHeight();
Cela me renvoie 0 même si la hauteur et la largeur sont par défaut.
0 votes
"Comme je ne veux pas donner de valeurs par défaut parce que si je change la hauteur et la largeur, je dois aussi les changer dans le code" - lequel peut changer ? la vue de l'image ou les images stockées ?
0 votes
Ne pouvez-vous pas simplement utiliser
android:scaleType="centerInside"
?0 votes
J'avais un problème similaire, mais j'ai constaté que les réponses postées ici ne m'ont pas aidé. J'ai posté ma propre question, qui a reçu une réponse [ici][1]. [1] : stackoverflow.com/questions/6590031/
2 votes
@nightcracker : Ce n'est pas de l'ASCII.
7 votes
Quand j'ai dit "ASCII", je voulais dire "art ASCII", qui englobe plus d'art que celui qui consiste simplement en un jeu de caractères ASCII.
1 votes
Cela ne répond pas directement à la question, mais si vous vous demandez pourquoi getHeight()/getWidth() renvoient 0, ils renverront toujours 0 si vous appelez ces méthodes avant que la vue n'ait été "dessinée", c'est-à-dire si vous appelez ces méthodes dans onCreate(), elles renverront 0.