J'essaye d'implémenter un SlidingDrawer
qui occupera toute la largeur de l'écran, mais dont la hauteur est déterminée dynamiquement par son contenu: en d'autres termes, le comportement de mise en page fill_parent
standard pour la largeur et wrap_content
pour la hauteur. C'est exactement comme cela que je l'ai spécifié dans la mise en page XML (voir ci-dessous) mais le tiroir coulissant s'ouvre toujours à la hauteur de l'écran. La hauteur de mon contenu varie, mais en général, il ne mesure que la moitié de la hauteur de l'écran, donc je me retrouve avec un grand écart en dessous. Ce que je voudrais, c'est que le contenu soit soigneusement placé en bas de l'écran. J'ai essayé tout ce que je peux penser pour résoudre ce problème, mais rien n'a fonctionné jusqu'à présent. Si je mets layout_height
à une valeur spécifique (par exemple 160dip
), cela fonctionne, mais ce n'est pas ce dont j'ai besoin: il doit être dynamique. Bien sûr, je me suis assuré que tous les éléments enfants ont leur hauteur définie à wrap_content
aussi.Android: la hauteur de SlidingDrawer peut-elle être définie avec wrap_content?
La documentation sur SlidingDrawer est un peu vague sur ce point et je n'ai pas été capable de trouver des exemples qui font ce que je veux non plus. Si quelqu'un peut voir où je me trompe, j'apprécierais vraiment votre aide!
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ViewFlipper
android:id="@+id/ImageFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop" />
</ViewFlipper>
<SlidingDrawer
android:id="@+id/infoDrawer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:handle="@+id/infoDrawerHandle"
android:content="@+id/infoDrawerContent"
android:allowSingleTap="false"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<!-- Sliding drawer handle -->
<ImageView
android:id="@id/infoDrawerHandle"
android:src="@drawable/info_handle_closed"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- Sliding drawer content: a scroller containing a group of text views
laid out in a LinearLayout -->
<ScrollView
android:id="@id/infoDrawerContent"
android:background="@drawable/info_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="false" >
<LinearLayout
android:id="@id/infoDrawerContent"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dip" >
<TextView
android:id="@+id/infoTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="16dip"
android:textStyle="bold" />
<TextView
android:id="@+id/infoCreator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="14dip"
android:textStyle="italic"
android:paddingBottom="10dip" />
<TextView
android:id="@+id/infoDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="14dip"
android:paddingBottom="10dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffcc00"
android:textSize="14dip"
android:textStyle="bold"
android:text="@string/heading_pro_tip" />
<TextView
android:id="@+id/infoProTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffcc00"
android:textSize="14dip" />
</LinearLayout>
</ScrollView>
</SlidingDrawer>
</RelativeLayout>
Des trucs géniaux! J'ai lutté pendant des semaines avec ce problème de tiroirs coulissants. Merci beaucoup! – Gratzi
Son bon n m'a beaucoup aidé .. merci :) – Hussain
Fantastique: merci pour une réponse si détaillée et désolé, il m'a fallu si longtemps pour obtenir l'acceptation! –