2011-03-10 18 views
10

He siguiente distribución en mi solicitud:Disposición Android alinear inferior

<?xml version="1.0" encoding="utf-8"?> 
    <ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:scrollbars="vertical" 
    android:background="@drawable/bbg"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"> 
     <TextView 
      android:id="@+id/Title" 
      android:text="@string/order_status" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:textSize="26sp" 
      android:textColor="#000000" 
      android:shadowColor="#FFFFFF" 
      android:shadowDx="0.5" 
      android:shadowDy="0.5" 
      android:shadowRadius="1.0"/> 
      <LinearLayout 
       android:orientation="vertical" 
       android:id="@+id/MainStatusWindow" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_margin="10sp" 
       android:background="@drawable/rounded_corners"> 
       <TextView 
       android:id="@+id/RateInfo" 
       android:text="" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:textSize="16sp" 
       android:layout_margin="10sp" 
       android:textColor="#5C5C5C"/> 
       <ImageView 
       android:src="@drawable/line" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:scaleType="fitXY"/> 
       <TextView 
       android:id="@+id/OrderStatus" 
       android:text="@string/please_wait" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center_horizontal" 
       android:textSize="20sp" 
       android:layout_margin="10sp" 
       android:textColor="#222222"/> 
       <ImageView 
       android:src="@drawable/line" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:scaleType="fitXY"/> 
       <TextView 
       android:id="@+id/TimerStatus" 
       android:text="0:00" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center_horizontal" 
       android:textSize="50sp" 
       android:layout_margin="10sp" 
       android:textColor="#222222"/> 
      </LinearLayout> 
      <Button android:id="@+id/Cancel" 
       android:layout_marginTop="10sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/cancel_order" 
       android:textSize="18sp" 
       android:textColor="#111111" 
       android:layout_alignParentBottom="true" 
       android:background="@drawable/button_red"/> 
    </LinearLayout> 
    </ScrollView> 

necesito último botón de estar en la parte inferior de la página. La imagen de abajo muestra lo que necesito (a la izquierda lo que tengo, a la derecha lo que necesito).

Explanation

Gracias.

+3

considerar el uso de un 'RelativeLayout' y luego usar' androide: layout_alignParentBottom = "true" 'en su botón de – binnyb

+0

es lo que realmente quiere que su botón * * en el interior del ScrollView? –

+0

Sí, necesito '

Respuesta

28

La organización disposición general debe ser:

<LinearLayout orientation="vertical"> 
    <ScrollView android:layout_weight="1" 
     android:width="fill_parent" 
     android:height="wrap_content"> 
     ... linear layout with your TextViews ... 
    </ScrollView> 
    <Button/> 
</LinearLayout> 

El atributo layout_weight="1" hace que el fin de llenar el espacio disponible en el LinearLayout exterior y presionará el botón de la parte inferior.

Editar - si desea que los botones para desplazarse así, entonces usted debe seguir Romain Guy article, utilizando fillViewPort y el establecimiento de un layout_weight en uno de sus LinearLayout niños.

+1

Pero quiero '

+0

Gracias por este artículo. ¡Ayuda! – skywa1ker

+0

Si está trabajando con fragmentos, no olvide configurar layout_height para fill_parent en el diseño de su fragmento. – Cremons

3

Puede utilizar poner su ScrollView y el botón dentro de un RelativeLayout y establecer androide: layout_alignParentBottom para el botón.

1

Este es un problema común, pero fácil de solucionar:

1) Use un RelativeLayout 2) En allí, tener dos vistas o diseños. El primero se alinea con la parte superior y tiene un margen inferior igual a la altura del inferior. El segundo se alinea en la parte inferior

¡Hecho! Espero que esto ayude.

Cuestiones relacionadas