Dans mon fichier XML, j'utilise bitmap comme suit
<bitmap
Android:src="@drawable/Icon"
Android:gravity="center"/>
Ici, la largeur de l'image de l'icône dépasse l'écran.
J'ai essayé Android: width = "100dp" et tout. Mais ça ne marche pas.
Fichier XML complet:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<shape Android:shape="rectangle">
<stroke Android:width="3dp" Android:color="@color/black" />
<solid Android:color="@color/bg_green" />
</shape>
</item>
<item>
<bitmap
Android:src="@drawable/Icon"
Android:gravity="center"/>
</item>
</layer-list>
Comment puis-je réduire la largeur et la hauteur du bitmap ci-dessus?
Bien qu'il n'y ait pas de paramètres de largeur et de hauteur pour les images bitmap, vous pouvez définir la taille de l'image en utilisant la gravité et la largeur/hauteur de l'élément.
<item
Android:width="230dp"
Android:height="70dp">
<bitmap
Android:gravity="fill_horizontal|fill_vertical"
Android:src="@drawable/screen" />
</item>
Vous pouvez définir la largeur et la hauteur d'un élément ainsi que l'échelle du bitmap à l'intérieur de celui-ci à l'aide de la gravité.
Je sais que c'est une vieille question, mais peut-être que quelqu'un le trouvera utile.
ATTENTION:
Comme déjà mentionné dans les commentaires, cette méthode fonctionne UNIQUEMENT avec les API de niveau 23 (Android 6.0) et plus.
Juste utiliser
<item
Android:width="200dp"
Android:height="200dp"
Android:drawable="@drawable/splash_background"
Android:gravity="center" />
au lieu
<item
Android:left="200dp"
Android:right="200dp">
<bitmap
Android:src="@drawable/splash_background"
Android:gravity="center" />
</item>
Si vous souhaitez réduire la largeur et la hauteur de manière à ce que l'écran s'adapte à l'écran et que vous n'ayez pas besoin de définir des dimensions exactes, vous pouvez simplement définir left
et right
sur l'élément parent. Cela va essentiellement ajouter une marge autour de l'image pour qu'elle prenne moins de place:
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:left="20dp"
Android:right="20dp">
<bitmap
Android:src="@drawable/Icon"
Android:gravity="center" />
</item>
</layer-list>
Dans l’idéal, vous devez toutefois télécharger des images de différentes tailles pour chaque résolution d’écran (par exemple, hdpi
, xxhdpi
), sans avoir à définir la taille du tout par programme. Vous pouvez voir la liste complète ici .
Essayez de le faire de cette façon, cela a fonctionné pour moi:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:width="30dp"
Android:height="30dp"
Android:gravity="center"
>
<bitmap
Android:src="@drawable/screen"/>
</item>
</layer-list>
celui que j’utilise pour redimensionner mon mipmap sur mon écran de lancement.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:opacity="opaque">
<item Android:drawable="@color/colorPrimary"/>
<item
Android:width="200dp"
Android:height="200dp"
Android:gravity="center">
<bitmap
Android:gravity="fill"
Android:src="@mipmap/ic_launcher"
Android:mipMap="true"/>
</item>
</layer-list>
Je viens de redimensionner l'image manuellement alors ça marche pour moi