2009-07-13 28 views
3

je mets un ImageView et un TextView dans un RelativeLayout qui est utilisé comme éléments de la liste, et que vous voulez le ImageView de grandir verticalement avec le numéro de ligne de TextView. Le draweable du ImageView est un png l'image de la barre verticale.Comment faire ImageView remplir verticalement dans RelativeLayout

Avec la disposition suivante, pensé qu'il semble très bien dans la vue Mise en page dans Eclipse, le ImageView ne remplit pas la hauteur du RelativeView au moment de l'exécution. Au lieu de cela, il garde toujours la hauteur de l'image originale.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <ImageView android:id="@+id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:src="@drawable/vbar" 
     android:adjustViewBounds="false" 
     android:scaleType="fitXY"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:singleLine="false" 
     android:layout_toRightOf="@id/iv" 
     android:layout_alignParentBottom="true" /> 
</RelativeLayout> 

Pourquoi travailler, il ne veut pas que j'attends (ou comme indiqué dans la mise en page vue Eclipse)?

+0

Si vous utilisez 'android: background' au lieu de' android: src' cela change-t-il quelque chose? – Jakar

Répondre

-1

je ferais deux choses:

  1. simplifier la mise en page en combinant le TextView avec un « drawableLeft ».
  2. Faites de l'image une image de 9 pièces afin qu'elle se développe en conséquence.
1

J'ai apporté quelques modifications à votre code.

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

    <TextView 
     android:id="@+id/tv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:singleLine="false" 
     android:text="@string/text" /> 

    <ImageView 
     android:id="@+id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_above="@id/tv" 
     android:adjustViewBounds="false" 
     android:scaleType="fitXY" /> 

</RelativeLayout> 

Maintenant, il donne une sortie correcte. Ce que j'ai fait est, a déclaré textview d'abord et l'a aligné sur le fond des parents. Puis déclaré imageview et alogned sur le dessus du textview. Ainsi, l'imageview commencera juste au-dessus du textview et prendra toute la hauteur restante. J'ai également testé multiligne textview. J'espère que cela aide.