2011-01-19 16 views
5

He adjuntado una imagen para ilustrar mejor lo que estoy buscando.Disposición de Android: elemento de posición debajo de la vista más baja

Tengo dos LinearLayout s colocados uno al lado del otro. Ambos pueden expandirse verticalmente, usando wrap_content. Me gustaría colocar otro contenedor (HorizontalScrollView) debajo del que tenga la mayor altura. Actualmente está configurado para ir debajo de la columna de la derecha, ya que generalmente es más alto, pero en algunos casos ScrollView cubrirá el contenido en la columna de la izquierda. ¿Hay alguna manera de configurar esto en el archivo .xml o tendré que recurrir a establecer esto en mi método onCreate?

Example screen

Respuesta

3

Usted puede envolver juntos los dos LinearLayouts en otra lineal o de disposición relativa, algo por el estilo (basta con cambiar las propiedades de los originales 3 diseños a medida que tiene/los necesita):

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:id="@+id/parent" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 
<RelativeLayout 
android:id="@+id/frame" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
> 
<LinearLayout 
android:id="@+id/linearLeft" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_toLeftOf="@+id/linearRight" 
> 
</LinearLayout> 
<LinearLayout 
android:id="@+id/linearRight" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:layout_alignParentTop="true" 
android:layout_alignParentRight="true" 
> 
</LinearLayout> 
</RelativeLayout> 
<ScrollView 
android:id="@+id/scroll" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_below="@+id/frame" 
android:layout_alignParentLeft="true" 
> 
</ScrollView> 
</RelativeLayout> 
+0

Terminé usando este solución, pero ambos habrían funcionado. – Taka

1

me gustaría posicionar otro recipiente (HorizontalScrollView) por debajo de lo que uno tiene la mayor altura.

Tiene que establecerlo programáticamente en el método onConfigurationChanged. Para que pueda funcionar correctamente después de que cambie la orientación del dispositivo.

Cuestiones relacionadas