19 votes

Mise à l'échelle d'une image à la largeur maximale disponible, en conservant le rapport d'aspect et en évitant l'espace supplémentaire de l'ImageView

J'ai cette simple mise en page XML, et un fichier green_square.png de 30X30 pixels.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:background="@color/red"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:adjustViewBounds="true"
        android:scaleType="fitStart"
        android:src="@drawable/green_square"/>

</LinearLayout>

Ce que j'essaie de faire, c'est de mettre l'image à l'échelle pour qu'elle remplisse la largeur du parent, en conservant son rapport d'aspect, sans espace supplémentaire dans l'ImageView.

J'ai ajouté un arrière-plan rouge à l'ImageView pour indiquer l'espace supplémentaire que je veux éviter.

Voici mon objectif

-4voto

King RV Points 1787

Essayez ça,

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/red"
    android:scaleType="centerCrop"
    android:src="@drawable/green_square" />

</LinearLayout>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X