web-dev-qa-db-fra.com

Coupe ImageView sans étirer l'image

est-il possible que mon ImageView s'adapte à toutes les tailles d'écran sans que l'image ne soit étirée?

j'ai essayé tous les types d'échelle en le changeant en arrière-plan et en src avec fill_parent> wrap_content

mais reste. si l'image n'est pas plus petite, elle semble juste étirée.

exemple:

<ImageView
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:scaleType="centerInside"
    Android:adjustViewBounds="true"
    Android:background="@drawable/background" />

<ImageView
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:scaleType="fitXY"
    Android:adjustViewBounds="true"
    Android:background="@drawable/background" />

ces 2 correspondent à la largeur mais l'image est étirée .. mais quand je la change en src l'image est juste centrée et petite.

18
NoobMe

Aucun type d'échelle intégré ne permet au ImageView de mettre automatiquement à l'échelle l'image et de garder son format d'image intact. Le seul type d'échelle qui effectue la mise à l'échelle est fitXY, qui ne respectera pas le rapport d'aspect, comme vous l'avez découvert vous-même également.

Cela étant dit, ce sujet a déjà été visité plus d'une fois. Jetez un œil à certaines des suggestions proposées pour des questions similaires:

Je suis sûr que ce sera beaucoup plus, donc cela pourrait valoir la peine d'utiliser le champ de recherche en haut.

31
MH.

Vous pouvez le faire en ajoutant simplement un seul attribut à ImageView

Android:adjustViewBounds="true"
5
Juned Khatri