TableRow с изображением и 2 TextView

У меня проблемы с выполнением чего-то вроде этого: http://imageshack.us/photo/my-images/824/examplehm.png/

Мой код xml показывает 3 столбца в строке, но я хочу 2 столбца, а второй столбец должен быть разделен на две горизонтальные части.

Мой .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>

Кто-нибудь может мне помочь?

Спасибо.


person JoseAntonio1984    schedule 02.05.2012    source источник
comment
Посмотрите запись блога Android Tricks #1. - он покажет вам два способа сделать это: один хороший и один... ну, менее хороший. :)   -  person MH.    schedule 02.05.2012
comment
Спасибо @MH. Я сделал 2 способа, как показано в руководстве, но мой результат неудовлетворителен: .us/photo/my-images/137/listanofunciona1.png Может быть, я должен разделить xml на два файла, один из них с ListView, а другой с остальным кодом... В ссылке вы можете увидеть только один из трех результатов запроса к БД. Показанная строка содержит только изображение и один из двух текстов. Это происходит, когда я пытаюсь использовать пример RelativeLayout из руководства, когда я пытаюсь использовать первый пример, мое приложение не отображает строки :(   -  person JoseAntonio1984    schedule 03.05.2012
comment
@МХ. Я видел, что второй способ руководства работает!!! но показывает 3 строки в небольшом пространстве. Я вытащил первую строку, которую вы можете видеть по ссылке, и... сюрприз! два других ряда были там. Теперь моя проблема заключается в том, как увеличить пространство, чтобы показать все результаты запросов к БД и показать третий текст. я еще работаю...   -  person JoseAntonio1984    schedule 03.05.2012


Ответы (1)


Поместите LinearLayout рядом с изображением, а затем поместите в него два TextViews или используйте RelativeLayout для всей строки.

Вот пример первого решения:

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

person vtuhtan    schedule 02.05.2012
comment
Спасибо за быстрый ответ @vtuhtan, но у меня все еще проблемы. Следуя вашему второму ответу, приложение показывает только первую строку, а его содержимое по-прежнему показывает изображение слева, а в следующем столбце - один текст. Третий текст нигде не появляется. Я не понял вашего первого ответа. - person JoseAntonio1984; 02.05.2012
comment
Спасибо @vtuhtan, я попробую позже, но у меня есть к вам вопрос относительно кода вашего примера. По вашему мнению, я должен иметь ListView и другой код презентации в одном xml или лучше иметь их в отдельных файлах? - person JoseAntonio1984; 05.05.2012
comment
Да работает отлично! Большое спасибо! Я сохранил ListView в том же файле. Спасибо, ребята! @МХ - person JoseAntonio1984; 05.05.2012