Какой элемент управления Android использовать? - PullRequest
3 голосов
/ 24 января 2010

Я делаю первые шаги в программировании на Android.

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

В настоящее время эмулятор показывает это:
Current Layout

Мне бы хотелось иметь что-то похожее на активность "Новый контакт":

  • Кнопки внизу окна, а не непосредственно под другими элементами управления (надеюсь, я сам это выясню)
  • Кнопки внутри красивой «коробки», как показано на скриншоте (какой элемент управления здесь находится у кнопок?)
  • Когда отображается программная клавиатура, кнопки должны «двигаться вверх». Если места недостаточно, нужно прокручивать всю область (я сам тоже попробую)

Образец можно увидеть здесь:
alt text

Какой элемент управления размещает кнопки на приведенном выше снимке экрана «Новый контакт»? Я хотел бы использовать то же самое для моих кнопок.

Ответы [ 4 ]

4 голосов
/ 24 января 2010

Один из способов выяснить, что делает существующее действие, - это использовать hierarchyviewer и изучить содержимое занятия.

Еще один способ выяснить, что делает нативное действие Android - посмотреть на исходный код . В этом случае может показаться, что кнопки находятся внутри горизонтальной LinearLayout с style="@android:style/ButtonBar" для придания серебряного блеска. Этот стиль , в свою очередь, использует @android:drawable/bottom_bar в качестве фона. Этот образ можно найти в вашей установке SDK - перейдите в каталог платформы по вашему выбору, затем data/res/drawable-hdpi и data/res/drawable-mdpi для двух версий.

2 голосов
/ 24 января 2010

Расположение контактов выглядит как ListView, расположенный поверх какого-либо типа RelativeLayout или LinearLayout, в котором расположены кнопки. Серебряный фон, возможно, просто был установлен с помощью android: background на самом макете (макеты являются видами).

Я обнаружил, что книги commonsware являются отличным ресурсом для начала работы и имеют хорошие примеры для этого типа макета.

1 голос
/ 08 февраля 2010

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

<activity android:name=".MyActivity" android:windowSoftInputMode="resize" />

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

0 голосов
/ 24 января 2010

Вы можете поместить их в LinearLayout и назначить вес 1 для каждой из кнопок. Также, если у вас есть телефон разработчика / или вы хотите видеть пользовательский интерфейс приложения в эмуляторе - есть очень крутой инструмент http://developer.android.com/guide/developing/tools/hierarchy-viewer.html и вы можете видеть, как пользовательский интерфейс понравившегося вам приложения был отложен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...