J'ai une disposition de défilement avec une disposition relative dans chaque ligne. Maintenant, il y a une image et un texte, et je veux limiter la hauteur de chaque ligne au texte. Donc, si mon image est plus haute que le texte, que l'image sera redimensionnée à la hauteur du texte (proportionnelle). Comment puis-je faire cela en XML?Limiter la hauteur d'une vue à la hauteur de la vue parent
Au moment de la définition de la ligne ressemble (copié à partir de la mise en œuvre android Mumble):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout01"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/userRowState"
android:src="@drawable/icon" />
<TextView
android:layout_toLeftOf="@+id/userRowStatus"
android:layout_height="wrap_content"
android:text="[Name]"
android:id="@+id/userRowName"
android:ellipsize="end"
android:layout_width="wrap_content"
android:lines="1"
android:singleLine="true"
android:textSize="25sp"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/userRowState" />
<!--
singleLine is deprecated but it is the only way to get ellipsize work
it seems. 'inputType text, maxLines 1' didn't work. It's a known issue
that Google has been unable to reproduce in 1½ years
http://code.google.com/p/android/issues/detail?id=882 Will see what
happens first, they remove support for singleLine or they manage to
reproduce the error. :p
-->
</RelativeLayout>
Sincèrement xZise
C'est une bonne question. Offhand, je ne peux pas penser à une façon que vous pourriez faire cela dans une mise en page XML, bien qu'il semble que ce serait assez facile à faire par programmation. Je me demande si vous pourriez juste utiliser un ViewStub au lieu de l'ImageView, puis dans votre méthode onCreate, gonflez-les simplement au besoin, en passant la hauteur du TextView en tant que LayoutParams pour l'ImageView? De là, vous pouvez simplement ajuster votre scaleType de votre ImageView au besoin. – kcoppock
Je ne pense pas que vous pouvez le faire de cette façon. Pourquoi ne définissez-vous pas layout_height de l'élément parent dans votre cas la disposition relative et utilisez fill_parent dans vos éléments enfants. –