2010-12-04 12 views
19

estoy aprendiendo androide y estoy luchando para conseguir mi cabeza alrededor de este atributo diseño particular lectura de la documentación Dev Google que dice:¿Qué hace exactamente android: layout_column?

android:layout_column 

El índice de la columna en la que este niño debe ser. Debe ser un valor entero , como "100". Esto también puede ser una referencia a un recurso (en la forma "@ [paquete:] tipo: nombre") o atributo de tema (en la forma "? [Paquete:] [tipo:] nombre") que contiene un valor de este tipo. Esto corresponde al símbolo de recurso de atributo global layout_column.

¿Alguien puede explicar cómo se correlaciona esto con un equivalente html (ya que las filas de la tabla parecen tomar prestado mucho de ellos)?

¿Es el número de columnas que necesita, por ejemplo, colspan?

Respuesta

25

Uh, significa "el índice de la columna en la que debería estar este elemento secundario". La única parte difícil es que comenzará a las columnas 0.

Por ejemplo:

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="1"> 
    <TableRow> 
     <TextView 
       android:text="URL:" /> 
     <EditText android:id="@+id/entry" 
      android:layout_span="3"/> 
    </TableRow> 
    <TableRow> 
     <Button android:id="@+id/cancel" 
      android:layout_column="2" 
      android:text="Cancel" /> 
     <Button android:id="@+id/ok" 
      android:text="OK" /> 
    </TableRow> 
</TableLayout> 

dos filas en la disposición anteriormente tienen cuatro columnas. El primero tiene cuatro columnas porque tiene un TextView en la columna 0 y un EditText que abarca las columnas 1, 2 y 3. El segundo tiene cuatro columnas porque omite las columnas 0 y 1 y coloca los dos widgets Button en las columnas 2 y 3 , cortesía del atributo android:layout_column="2" en el primer Button.

+1

Ah, eso tiene sentido entonces - no se cumplió porque html no funciona de esta manera con las tablas basadas en índices, 'asume' el ancho con cada de forma predeterminada. – Alphatester77

+7

@ Alphatester77: Sí, aunque 'TableLayout' comparte muchas características comunes con las tablas HTML, este no es uno de ellos. Piensa en 'android: layout_column' como abreviatura de" dar unas etiquetas '' vacías a la izquierda de mi para tomar algunas columnas ". – CommonsWare

+0

Genial, eso tiene sentido ahora - ¡gracias por la explicación adicional, ayuda mucho! – Alphatester77

Cuestiones relacionadas