web-dev-qa-db-fra.com

Android ImageView Résolution de la taille de l'image

J'ai une application Android, où j'ai un ImageView, je dois garder la taille constante, il peut y avoir diverses images que je dois mettre dans cette ImageView, de différentes tailles.

Je dois juste m'assurer que toutes les images doivent tenir dans le ImageView, la taille de l'image doit augmenter si elle est plus petite et doit diminuer, si elle est plus grande.

Merci beaucoup pour votre temps.

39
Shalabh

Corrigez la taille de ImageView avec dp ou fill_parent Et mettre Android:scaleType à fitXY.

71
Youngsik Oh

Dans votre cas, vous devez

  1. Fixer la taille de l'image. Vous devez utiliser dp pour qu’il ait la même apparence sur tous les appareils.
  2. Ensemble Android:scaleType à fitXY

En voici un exemple:

<ImageView
    Android:id="@+id/photo"
    Android:layout_width="200dp"
    Android:layout_height="100dp"
    Android:src="@drawable/iclauncher" 
    Android:scaleType="fitXY"/>

Pour plus d'informations sur la propriété ImageView scaleType, veuillez vous référer à site Web du développeur .

42
Lazy Ninja

Essaye ça

ImageView img
    Bitmap bmp;
    int width=100;
    int height=100;
    img=(ImageView)findViewById(R.id.imgView);
    bmp=BitmapFactory.decodeResource(getResources(),R.drawable.image);//image is your image                                                            
    bmp=Bitmap.createScaledBitmap(bmp, width,height, true);
    img.setImageBitmap(bmp);

O Si vous voulez charger une taille d'image complète en mémoire, vous pouvez utiliser

<ImageView
    Android:id="@+id/img"
    Android:layout_width="100dp"
    Android:layout_height="100dp"
    Android:src="@drawable/image" 
    Android:scaleType="fitXY"/>
16
Atul Bhardwaj

Vous pouvez également essayer ceci. Supposons que vous souhaitiez créer un bouton d’image arrière et que vous disposiez de "500 x 500 png" et que vous souhaitiez qu’il s’intègre dans une petite taille de bouton.

Utilisez dp pour corriger la taille de ImageView.

ajoutez cette ligne de code à votre imageview.

Android: scaleType = "fitXY"

EXEMPLE:

<ImageView
        Android:layout_width="50dp"
        Android:layout_height="50dp"
        Android:id="@+id/imageView2"
        Android:src="@drawable/Backicon"
        Android:scaleType="fitXY"
        />
7
Nikhil jassal

Avec la réponse indiquée par @Youngsik Oh, le lien ci-dessous est utile pour ce que vous souhaitez réaliser.

De grandes images peuvent parfois provoquer une erreur OutOfMemory. En lien fourni, sa prise d'images à partir du dossier Asset. Vous pouvez le modifier selon vos besoins. J'espère que ça aide.

Android: Résolution de problème

2
Braj