¿Dos fragmentos no pueden pesar en el diseño lineal?

intento mostrar un diseño de interfaz de usuario de dos paneles. Trato de agregar dos fragmentos en un diseño lineal con un peso. Sin embargo, el diseño lineal parece ignorar el peso. como lo corrijo?? Gracias

[Enlace:] http://dl.dropbox.com/u/78582670/twopanes.png

mi diseño:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<fragment
    class="com.usci.view.fragment.CatalogFragment"
    android:id="@+id/fragment_catalog"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.2">
</fragment>

<fragment
    class="com.usci.education.TestFragment1"
    android:id="@+id/fragment_test"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.8">
</fragment>

</LinearLayout>

Solución:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<fragment
    class="com.usci.view.fragment.CatalogFragment"
    android:id="@+id/fragment_catalog"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="8">
</fragment>

<fragment
    class="com.usci.education.TestFragment1"
    android:id="@+id/fragment_test"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="2">
</fragment>

</LinearLayout>

preguntado el 30 de julio de 12 a las 08:07

intente dar peso como 2 y 8 respectivamente -

intentalo. Pero, no quiero. De hecho, realmente quiero ponderar el primer fragmento a 8. -

luego intercámbialo, prueba y error amigo. -

lo soluciono Pero, no sé por qué la configuración es extraña. @@" -

3 Respuestas

siempre, cuando use pesos, establezca el ancho/alto (de los niños) en 0px, y prefiera números enteros para los pesos.

entonces, la solución es:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<fragment
    class="com.usci.view.fragment.CatalogFragment"
    android:id="@+id/fragment_catalog"
    android:layout_width="0px"
    android:layout_height="match_parent"
    android:layout_weight="2">
</fragment>

<fragment
    class="com.usci.education.TestFragment1"
    android:id="@+id/fragment_test"
    android:layout_width="0px"
    android:layout_height="match_parent"
    android:layout_weight="8">
</fragment>

</LinearLayout>

Respondido 30 Jul 12, 09:07

No siempre - creo que perfectamente podrías asignar un layout_width de 200dp y set layout_weight para distribuir el espacio restante encima de los 200dp. - sstn

@sstn Lint advierte sobre tal cosa que no es necesaria y provoca cálculos adicionales para nada. sin embargo, tal vez no te entendí o no entendiste mi respuesta. - desarrollador de Android

Me acabo de referir a su declaración "siempre establezca el ancho/alto en 0 cuando use pesos", que considero simplemente incorrecto o demasiado simplificado. Di un caso válido de combinación de ancho y peso, que es muy diferente del caso en el que simplemente estableces el ancho en 0. - sstn

Entonces no entiendo. Creo que es difícil de explicar esto, pero ¿podría intentarlo de nuevo? tal vez publicar algún código (puedes usar pasteBin)? - desarrollador de Android

Conmigo esta trabajando poniendo 20,80.. prueba tambien 0.8,0.2:

<fragment
class="com.usci.view.fragment.CatalogFragment"
android:id="@+id/fragment_catalog"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.8">
</fragment>

<fragment
    class="com.usci.education.TestFragment1"
    android:id="@+id/fragment_test"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.2">
</fragment>

Respondido 30 Jul 12, 08:07

Establezca android:layout_width y android:layout_height value match_parent, luego, por ejemplo, establezca android:layout_weight (1 fragmento y 2 fragmentos) valor 1

Respondido 30 Jul 12, 08:07

Dos fragmentos se dividen en dos del mismo tamaño - Rey wu

Sí. Necesitas cambiar el peso de los fragmentos. Por ejemplo, para el primer conjunto de fragmentos de peso 1 y para el segundo conjunto de fragmentos de peso 1, juegue con el peso :) - Volodymyr

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.