Problema de diseño de Android: anchos relativos en porcentaje con el peso

Estoy tratando de asignar anchos relativos a las columnas en un ListView que está en un TabHost, usando layout_weight como se sugiere aquí :

<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableLayout android:id="@+id/triplist" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="4px"> <TableRow> <ListView android:id="@+id/triplistview" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </TableRow> <TableRow> <Button android:id="@+id/newtripbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Add Trip"/> </TableRow> [other tabs ...] 

Mi definición de la fila tiene 4 columnas que quisiera clasificar como sigue:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="1.0" android:padding="4px"> <TextView android:id="@+id/rowtripdate" android:layout_weight=".2" android:layout_width="0dip" android:layout_height="wrap_content" android:inputType="date"/> <TextView android:id="@+id/rowodostart" android:layout_weight=".2" android:layout_width="0dip" android:layout_height="wrap_content"/> <TextView android:id="@+id/rowodoend" android:layout_weight=".2" android:layout_width="0dip" android:layout_height="wrap_content"/> <TextView android:id="@+id/rowcomment" android:layout_weight=".4" android:layout_width="0dip" android:layout_height="wrap_content"> 

Desafortunadamente, parece querer encajar todas las columnas en el espacio que ocupa el botón, a diferencia del ancho de la pantalla. O tal vez hay otra restricción que no entiendo. Le agradecería su ayuda.

Alt text http://heeroz.com/layoutprob.png

Creo que olvidé esta propiedad para el elemento TableLayout:

 android:stretchColumns="0" 

Parece estar funcionando ahora.

No veo nada obviamente malo en lo que usted está mostrando allí. Para obtener una mejor imagen de lo que está pasando, puede probar el espectador heredero . Viene con el SDK. Se visualizará para usted cuánto espacio cada una de las capas "ocultas" está tomando, para que pueda averiguar cuál decidió ser tan grande.

  • Disposición del androide en diversos tamaños de pantalla
  • Agregar vista a la parte inferior del diseño dentro de una vista de desplazamiento
  • Vista personalizada con clics en Notificación en Android 2.3 o inferior
  • Disposición de interfaz de usuario de dos pasos: ¿Por qué?
  • Problema de diseño relativo de Android con gravedad
  • ClassCastException: android.widget.LinearLayout $ LayoutParams
  • ¿Cuándo android primero hace la disposición?
  • ¿Hay una manera de establecer el color ondulado para un botón de acción flotante a través de atributos XML?
  • El botón cambia de posición cuando el texto en dos líneas
  • ¿Cómo puedo averiguar qué aspecto de los archivos xml de android.R.layout / obtener la fuente?
  • Iterar a través de vistas en un diseño y cambiar la tipografía
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.