2010-03-30 2 views
0

Мое приложение отображает список элементов, в которых каждая строка является заголовком элемента со своими изображениями, строка резервирует 70% пространства для текста и 30% для изображения. Представьте себе, как выглядит магазин приложений iphone. Какой вид представления/компоновки рекомендуется для этой цели?android: какой вид использовать для отображения текста и изображения?

Я гугл и найти эту статью:

http://www.curious-creature.org/2009/02/22/android-layout-tricks-1/

ли звук хорошо это мнение?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="?android:attr/listPreferredItemHeight" 

android:padding="6dip"> 

<ImageView 
    android:id="@+id/icon" 

    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 

    android:layout_alignParentTop="true" 
    android:layout_alignParentBottom="true" 
    android:layout_marginRight="6dip" 

    android:src="@drawable/icon" /> 

<TextView 
    android:id="@+id/secondLine" 

    android:layout_width="fill_parent" 
    android:layout_height="26dip" 

    android:layout_toRightOf="@id/icon" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 

    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:text="Simple application that shows how to use RelativeLayout" /> 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 

    android:layout_toRightOf="@id/icon" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_above="@id/secondLine" 
    android:layout_alignWithParentIfMissing="true" 

    android:gravity="center_vertical" 
    android:text="My Application" /> 

ответ

1

Если «как выглядит магазин приложений для iPhone», вы имеете в виду «почти каждый список» (ну, по крайней мере, насколько я могу судить по описанию, никогда не увидев приложение iPhone магазин), кажется, есть только один способ, который работает. «Идеальным» решением было бы использовать RelativeLayout, поскольку это позволяет иметь две строки текста рядом с изображением без сложной структуры компоновки. Однако, как вы можете видеть в this question и this other question, похоже, есть некоторые проблемы с этим. Таким образом, резервное копирование состоит в использовании горизонтального LinearLayout и вложенного в него второго вертикального LinearLayout, если вам нужно несколько строк текста. См. Эти сообщения для получения более подробной информации о том, как должен выглядеть ваш LinearLayout.

Примечание: Я предполагаю, что вы знаете, как использовать ListView. Если вы не знаете, как работает ListViews, я рекомендую this article в качестве хорошего стартового места. Это немного старо, но все же хорошо. Просто убедитесь, что вы читаете its sequels, а также объясните, как использовать оптимизацию convertView.

Редактировать: Для тех, кто читает это, вот tutorial on Lists с гораздо лучшим форматированием, что упрощает чтение.

+0

Спасибо Я отредактировал оригинал сообщения. Не могли бы вы взглянуть? – Yang

+0

Это именно сообщение, которое я обсуждал в двух вопросах, которые я связывал. (Хорошо, я связался с ним в официальном блоге Android, а не в его личном). Однако некоторые из нас пытались заставить его работать и не смогли этого сделать. Он отлично выглядит, пока вы не поместите его в ListView, а затем по какой-то необъяснимой причине он не загружается должным образом. Если вы можете заставить его выглядеть правильно, дайте нам знать! –

+0

Я столкнулся с новыми ошибками, вы можете взглянуть на мое новое сообщение: http://stackoverflow.com/questions/2549585/android-failed-to-setcontentview-when-switching-to-listactivity – Yang

1

ListView с пользовательским макетом для строки. Когда вы создаете ListAdapter (SimpleAdapter/ArrayAdapter), вы можете передать макет в конструкторе. Его реальное легко, если изображение всегда будет одинаковым, но если изображение будет изменяться, вам нужно будет переопределить метод getView для создания представления для строки.

Смежные вопросы