Android mise à l'échelle imageview de setImageBitmap
J'ai ce code:
<ImageView
android:id="@+id/listitem_logo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
et
imageview_logo.setImageBitmap(bit); //comes from assets
imageview_logo.setAdjustViewBounds(true);
imageview_logo.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageview_logo.setBackgroundColor(0x00000000);
imageview_logo.setPadding(0, 0, 0, 0);
imageview_logo.setVisibility(v.VISIBLE);
Lors du chargement de l'image de cette façon, aucune mise à l'échelle semble avoir été fait. Cependant, si je charge une image à travers setImageDrawable() r.res. l'image à l'intérieur de la ImageView
est redimensionnée. Cependant, j'ai besoin d'utiliser setImageBitmap() depuis que je charger mes images par dossier des actifs.
Me manque quelques réglages, ici? Que va faire Android de les redimensionner et de l'échelle de l'image, de sorte qu'il utilise toute la largeur de l'ImageView? Je suppose que je peux le faire moi-même dans le code, mais désinvolte, je pense ce que je veux faire serait pris en charge seulement par la mise en certaines propriétés.
setImageDrawable()
setImageDrawable n'accepte pas une image Bitmap.
utilisation CENTER_CROP comme scaletype ET WRAP_CONTENT pour la largeur
Drawable d = new BitmapDrawable(getResources(),bitmap);
puis convertir le Drawable bitmap
OriginalL'auteur Tom | 2013-05-25
Vous devez vous connecter pour publier un commentaire.
Ne peut pas faire confiance au système pour tout spécialement android qui se comporte de façon très différente, parfois.
Vous pouvez redimensionner l'image bitmap.
cela va générer de la hauteur appropriée.
la largeur est égale à la largeur de l'écran comme vous l'avez mentionné.
OriginalL'auteur Aashish Bhatnagar
Que j'avais besoin d'un peu de temps pour comprendre le code complet pour faire ce travail, je mets en ligne un exemple complet d'ici, en s'appuyant sur la réponse précédente:
OriginalL'auteur narko