Элементы макета Android

1

Я пытаюсь сделать макет Android, как показано ниже. У меня есть пара вопросов:

1 - что такое элемент, который используется FB для сообщений? То есть, это не похоже на текстовое представление, но элемент выглядит так, что он разделяет каждое сообщение с помощью разделительной линии. Кроме того, стиль текста отличается для имени человека и того, как давно они были размещены. Я хочу дублировать это (минус-изображения), но я не могу найти нужные элементы пользовательского интерфейса.

  1. Что называется элементом внизу? Это похоже на статическое меню. IE, это то же самое, что и в меню, но вместо того, чтобы нажимать "menu" для доступа к нему, он всегда находится на странице.

Наконец, есть ли хорошие учебники/примеры того, как делать приятные, профессиональные макеты, такие как приложения на рынке? Учебники, которые я нашел в макетах, действительно являются основными. Я хотел бы понять, какие элементы существуют, что означают все атрибуты и примеры, и т.д. До сих пор я мог видеть только возможности других приложений. Я бы хотел иметь справочник или какой-то тип справочного руководства.

Изображение 174551

Теги:
layout

2 ответа

3
Лучший ответ

Для "причудливых" текстовых представлений вы можете создать линейный макет, на котором размещен < RelativeLayout >:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_weight="0">
<ImageView 
    android:id="@+id/userPhoto" 
    android:layout_height="64dip"
    android:layout_width="64dip"
/>
<TextView
    android:id="@+id/userFullName"
    android:layout_height="25dp"
    android:layout_width="fill_parent"
    android:layout_marginLeft="70dp"
/>
</RelativeLayout>

После того, как у вас есть относительный макет, вы можете добавить в него разные виды, чтобы создать своего рода customeized view.

Что касается хороших примеров, я бы посмотрел на эту книгу. Это легко понять и очень полезно в таких вещах.

  • 0
    Спасибо за предложение, книга должна быть здесь через пару дней. Вы знаете название статического меню внизу изображения? Кроме того, FB использует текстовое поле для хранения своих сообщений или какого-либо другого типа объекта?
  • 0
    @ user836200 Кажется, это простой LinearLayout, в котором есть элементы ImageButton. Дизайн кнопок будет сделан в другом месте, а сами изображения помещены в локальный каталог ресурсов. (Например, <LinearLayout style = "@ style / Edit.LinearLayout.Horizont"> <ImageButton android: layout_width = "350dp" android: layout_height = "250dp" android: layout_column = "0" android: id = "@ + id / btn_help "android: src =" @ android: drawable / ic_menu_gallery "android: onClick =" someAction "> </ ImageButton> </ LinearLayout>
Показать ещё 3 комментария
0

Я нашел действительно полезное руководство для решения проблемы в дизайне ListView Row, немного похожего на ваше. Это немного объясняет, как сделать загрузку Async Image, но первая часть вам поможет.

Кроме того, я могу ошибаться (я все еще немного новичок в этом), но я думаю, что в ответе выше отсутствует TextView для фактического сообщения, кроме userName и относительных положений элементов, поскольку это относительный макет. Что-то вроде:

<TextView
    android:id="@+id/userName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@id/userPhoto"
    android:layout_toRightOf="@id/userPhoto"
    android:textSize="17dp"
    android:textStyle="bold" />

<!-- actual message -->
<TextView
    android:id="@+id/message"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/userName"
    android:layout_marginTop="1dip"
    android:layout_toRightOf="@id/userPhoto"
    android:textSize="15dp" />

Ключом в организации относительного макета является:

android:layout_alignTop="@id/userPhoto" android:layout_toRightOf="@id/userPhoto" и

android:layout_below="@id/userName" android:layout_toRightOf="@id/userPhoto"

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню