Относительные макеты Android с ListView - PullRequest
1 голос
/ 08 декабря 2011

Ищу немного помощи относительно макета, который я пытаюсь достичь. Я использую ListView с RelativeLayout для каждого из элементов в нем. Я могу правильно отобразить аватар, заголовок и текстовую информацию, но не могу заставить time_stamp сидеть на той же строке, что и заголовок. Таким образом, аватар находится слева, заголовок вверху с отметкой времени в дальнем правом углу вдоль той же строки и text_info непосредственно под ним.

Макет выглядит следующим образом:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="?android:attr/listPreferredItemHeight"
        >

    <ImageView
            android:id="@+id/avatar"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:scaleType="center"
            android:layout_marginRight="3dip"
            android:src="@drawable/icon"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            />


    <TextView
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:id="@+id/text_title"
            android:layout_toRightOf="@id/avatar"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_alignWithParentIfMissing="true"
            android:gravity="center_vertical"
            android:textSize="18sp"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            />

    <TextView    
            android:id="@+id/time_stamp"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_toRightOf="@id/text_title"
            />

    <TextView
            android:id="@+id/text_info"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_toRightOf="@id/avatar"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:singleLine="true"
            />
</RelativeLayout>

1 Ответ

0 голосов
/ 08 декабря 2011

Для time_stamp TextView используйте layout_alignParentRight = "true" и layout_alignTop установить в заголовок TextView. Таким образом, он будет справа от списка и верхний будет выровнен с заголовком. Удачи

...