2010-11-03 16 views
5

Tengo un cajón deslizante en mi aplicación. Si configuro wrap_content como un valor para el campo layout_height, el control deslizante se extenderá en toda la pantalla. Usar una constante como altura tampoco es una buena alternativa. ¿Es posible tener un control deslizante con la altura de su contenido?Establecer la altura del cajón deslizante

¡Gracias de antemano!

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/frameLayout" 
    android:layout_gravity="bottom" 
    android:orientation="vertical"> 
    <View 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@color/blue"/> 
    <SlidingDrawer 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:handle="@+id/handle" 
     android:content="@+id/content" 
     android:id="@+id/slide" 
     android:orientation="vertical"> 
    <RelativeLayout android:id="@+id/handle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/list_header"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="@dimen/padding" 
      android:textColor="@color/black" 
      android:textStyle="bold" 
      android:text="@string/ingredients_list_title"/> 
     <ImageView 
      android:id="@+id/handle_indicator" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="@dimen/padding" 
      android:src="@drawable/arrow_up" 
     /> 
    </RelativeLayout> 
    <RelativeLayout android:id="@+id/content" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/list_row_background"> 
     <LinearLayout android:id="@+id/list_ant_title" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/gallery" 
      android:orientation="vertical"> 
       <ListView 
       android:id="@+id/listview" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:divider="@drawable/divider" 
       android:cacheColorHint="@color/transparent" 
       android:fadingEdge="none"/> 
     </LinearLayout> 
     <Gallery 
      android:id="@+id/gallery" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/list_row_background"/> 
    </RelativeLayout> 
</SlidingDrawer> 

Respuesta

1

¿Cuál es el contenedor? ¿Un LinearLayout? Agregue otro elemento vacío y asígneles un peso de 1.

+0

Era un FrameLayout. Lo cambié a LinearLayout y establecí los pesos. Pero es lo mismo. – Gratzi

+0

¿Se puede publicar el diseño? – EboMike

+0

Lo publiqué en la pregunta inicial. Hice algunas correcciones y la última conclusión es que si establezco los pesos en 1 para la vista ficticia y el cajón, ambos tendrán la altura igual a 1/2 de la pantalla. Me gustaría tener un cajón deslizante con una altura igual a la altura del contenido. – Gratzi

1

Use atributo para SlidingDrawer.

les gusta esto.

<SlidingDrawer 
    ... 
    android:topOffset="800px"> 
Cuestiones relacionadas