TableRow con imagen y 2 TextView

Estoy teniendo problemas para hacer algo como esto: http://imageshack.us/photo/my-images/824/examplehm.png/

Mi código xml muestra 3 columnas en la fila, pero quiero 2 columnas y la segunda columna debe dividirse en dos partes horizontales.

Mi .xml:

<?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" >

    <ListView android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>

    <TableRow>        
        <ImageView android:id="@+id/imagen"        
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:paddingLeft="2dip" 
            android:paddingRight="5dip" />

        <TextView android:id="@+id/cabecera"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textSize="12px" />

    <TextView android:id="@+id/descripcion"
            android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="normal"
        android:textSize="10px" />           
    </TableRow>                         

</TableLayout>

¿Alguien podría ayudarme?

Gracias.

preguntado el 02 de mayo de 12 a las 19:05

Echa un vistazo a la Trucos de Android n.º 1 entrada de blog - te mostrará dos formas de hacerlo: una buena y otra... bueno, menos buena. :) -

Gracias @MH. Hice las 2 formas en que se muestra la guía, pero mi resultado no es bueno: imageshack.us/photo/my-images/137/listanofunciona1.png Quizás deba dividir el xml en dos archivos uno de ellos con el ListView y el otro con el resto del código... En el enlace se puede ver solo uno de los tres resultados de la consulta a la base de datos. La fila que muestra solo contiene una imagen y uno de los dos textos. Esto sucede cuando intento con el ejemplo RelativeLayout de la guía, cuando intento con el primer ejemplo, mi aplicación no muestra filas :( -

@MH. ¡Vi que la segunda forma de la guía funciona! pero muestra las 3 filas en un pequeño espacio. Saqué la primera fila que podéis ver en el enlace y... ¡sorpresa! las otras dos filas estaban allí. Ahora mi problema es cómo hacer más grande el espacio para mostrar todos los resultados de la consulta DB y mostrar un tercer texto. Sigo trabajando... -

1 Respuestas

poner LinearLayout por la imagen y luego poner en ella dos TextViews , o usar RelativeLayout para toda la fila.

Aquí hay un ejemplo de la primera solución:

<?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" >

<TableRow>        
    <ImageView android:id="@+id/imagen"        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:paddingLeft="2dip" 
        android:paddingRight="5dip" android:src="@drawable/ic_launcher"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="vertical" android:gravity="center_vertical">

        <TextView android:id="@+id/cabecera"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="12px" 
            android:text="TextView"/>

         <TextView android:id="@+id/descripcion"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="normal"
            android:textSize="10px"
            android:text="TextView" />    
    </LinearLayout>

</TableRow>                    

contestado el 03 de mayo de 12 a las 07:05

Gracias por tu rápida respuesta @vtuhtan pero sigo teniendo problemas. Siguiendo su respuesta de segunda vía, la aplicación solo muestra la primera fila y su contenido aún muestra una imagen a la izquierda y en la siguiente columna un texto. El tercer texto no aparece en ninguna parte. No entendí tu primera forma de respuesta. - JoseAntonio1984

Gracias @vtuhtan, lo intentaré más tarde, pero tengo una pregunta para ti en referencia a tu código de ejemplo. En su opinión, debo tener ListView y otro código de presentación en el mismo xml o sería mejor tenerlos en archivos separados. - JoseAntonio1984

¡Sí, funciona perfectamente! ¡Muchas gracias! Mantuve ListView en el mismo archivo. ¡Gracias chicos! @MH- JoseAntonio1984

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