ImageView remplit parent largeur OU de la hauteur, mais maintient le ratio d'aspect

J'ai une image carrée (bien que ce problème s'applique également à des images rectangulaires). Je veux afficher l'image la plus grande possible, les étirements, si nécessaire, pour remplir leurs parents, tout en continuant à maintenir le ratio d'aspect. L'image est plus petite que l'ImageView. Le problème est, je ne peux pas étirer l'image et de "correspondance", la hauteur et la largeur de l'ImageView.

C'est mon XML fichier de mise en page:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:padding="10dp">

    <ImageView android:id="@+id/image"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:adjustViewBounds="true"
               android:scaleType="fitCenter"
               android:layout_marginTop="10dp"/>

    <TextView android:id="@+id/name"
              android:layout_below="@id/image"
              android:layout_alignLeft="@id/image"
              android:layout_marginTop="20dp"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:textSize="18dp"/>

    <TextView android:id="@+id/name2"
              android:layout_below="@id/name"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:textSize="14dp"/>


</RelativeLayout>

J'ai utilisé de nombreuses combinaisons de fill_parent, wrap_content avec plusieurs scaleTypes: fitCenter, fitStart, fitEnd, centerInside, et ils ont tous dessiner les images dans le bon ratio d'aspect, mais aucun d'entre eux à l'échelle les images et les ImageView lui-même, résultant dans le TextViews obtenir poussé tout le chemin vers le bas de l'écran, les espaces vides à l'intérieur de l'ImageView, image non mis à l'échelle, ou de l'image recadrée.

Je ne trouve pas la bonne combinaison pour cela.

  • essayez la réponse donnée ici: stackoverflow.com/questions/5355130/...
  • J'ai déjà mis adjustViewBounds=true. De toute façon il n'a pas de redimensionner le ImageView limites.
  • Avez-vous une seule image ou de plusieurs? Avez-vous pensé à utiliser un ScrollView? Est votre hauteur de l'image plus grande que la hauteur de l'écran? Si oui, comment voulez-vous votre mise en page pour regarder? Votre TextView name, est-il censé être à gauche ou au-dessous de l'image? Si vous souhaitez que tous les 3 points de vue pour s'adapter à votre écran, ils devraient tous avoir android:layout_height="wrap_content".
  • J'ai plusieurs, mais je suis l'affichage d'une image. Je devrais avoir formulé cette question mieux. C'est l'affichage d'une image.
  • Avez-vous essayé android:scaleType="fitXY"? Il étire l'image pour correspondre à la largeur et la hauteur que vous attribuez (j'.e, il ne respecte pas le ratio d'aspect).
  • double possible de ImageView adjustViewBounds ne fonctionne pas
  • vous pouvez essayer cette réponse: stackoverflow.com/questions/5554682/...