Разметка Android - сложить два TextViews вертикально, внутри строки ListView - PullRequest
4 голосов
/ 31 декабря 2010

Я начал с Реализация ListView Федора .Вот XML для моего элемента ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
      android:id="@+id/image"
      android:layout_width="50dip"
      android:layout_height="50dip" android:src="@drawable/stub" android:scaleType="centerCrop"/>
<TextView
      android:id="@+id/name"
      android:layout_width="0px"
      android:layout_height="0px"
      android:layout_weight="0" android:textSize="20dip" android:layout_marginLeft="10dip"/>
<TextView
      android:id="@+id/address"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"  android:textSize="16dip" android:layout_marginLeft="10dip"/>

</LinearLayout>

То, что я вижу на моем устройстве, это ImageView, и два TextViews отображаются последовательно слева направо.

То, что я хочу, этоImageView полностью справа (это уже правильно), имя TextView справа от изображения (это правильно) и адрес TextView, НИЖЕ имя TextView.Я не смог понять, как это правильно изложить.

Пожалуйста, обратите внимание, я знаю, что мог бы просто добавить новую строку к имени и добавить текст адреса после этого, но я хочу, чтобы онидва элемента, чтобы иметь разные размеры шрифта, так что это не вариант.Большое спасибо!

1 Ответ

6 голосов
/ 31 декабря 2010

Вам нужно установить ориентацию LinearLayout и для достижения того, что вы хотите сделать, вам нужно использовать несколько из них.В псевдокоде вам нужно будет сделать:

<LinearLayout
    android:orientation="horizontal"
    ...>
    <ImageView
        android:id="@+id/image"
        ... />
    <LinearLayout
        android:orientation="vertical"
        ...>
        <TextView
             android:id="@+id/name"
             ...>

        <TextView
             android:id="@+id/address"
             ...>
    </LinearLayout>
</LinearLayout>
...