Android - нужна помощь / совет по пользовательскому интерфейсу - PullRequest
0 голосов
/ 25 марта 2010

Я работал над Android последние пару месяцев, чтобы узнать, как работают различные компоненты.

Одна область, в которой мне совершенно не хватает знаний, - это создание любого пользовательского интерфейса или создание графического интерфейса.

В качестве упражнения меня попросили разбить экран вызова HTC на компоненты, которые в нем содержатся, и перестроить как можно ближе.

Вот изображение экрана вызова HTC:

HTC Dialer http://img688.imageshack.us/img688/7663/incall.png

Насколько я понимаю, вышеупомянутый интерфейс имеет настраиваемую строку заголовка, в которой отображается "Метеор" и время вызова.

Затем основное изображение в среднем блоке вместе с текстовым представлением, показывающим вызываемого абонента, в данном случае «Голосовая почта» и номер.

Внизу это пользовательский вид, возможно, с тремя пользовательскими кнопками.

Буду ли я прав в своих предположениях?

То есть части, которые я должен рассмотреть при программировании, - это пользовательская строка заголовка и пользовательский вид с тремя пользовательскими кнопками для размещения внизу?

Какой макет рекомендуется?

Я надеюсь, что этот вопрос рассматривается как относящийся к переполнению стека, если это не так, я его удалю.

Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 25 марта 2010

используя c: \ Program Files \ Android SDK \ tools \ierarchyviewer.bat, вы можете проверить, как создавались экраны программ

1 голос
/ 25 марта 2010

Я смотрел на этот макет и несколько раз передумал об этом, но я думаю, что так оно и есть. Отказ от ответственности: я не пробовал использовать метод Steelbytes, поэтому я могу быть совершенно неправ!

1) Отражение робота под текстом, вероятно, выполняется аналогично примеру приложения LunarLander. Эта игра имеет холст для рисования с плавающим TextView в центре экрана для отображения текста. Он использует FrameLayout, который содержит настроенное представление (которое расширяет SurfaceView и содержит рисунок графики) и RelativeLayout, который, в свою очередь, имеет TextView. Хитрость заключается в том, что настроенный чертежный вид и RelativeLayout оба установлены на fill_parent, но TextView RelativeLayout рисуется поверх чертежного вида. Я полагаю, вам придется сделать что-то подобное, потому что для рисования отражения изображения набранного контакта, возможно, потребуется какой-то холст, потому что он должен был бы иметь возможность генерировать отражение программным способом.

2) Список кнопок внизу, вероятно, не является настраиваемым представлением, но он сделан так, чтобы выглядеть так. Я думаю, что это просто горизонтальный LinearLayout с градиентным фоном с 3 кнопками. Умная часть идет с выбором художественного произведения, используемого для кнопок; чтобы добиться того, чтобы они выглядели врезанными в панель кнопок, они использовали тщательно нарисованные фоновые изображения с затенением по краям. Таким образом, на панели кнопок видны три отверстия для кнопок, но кнопки просто нарисована поверх него, как и другие кнопки.

0 голосов
/ 25 марта 2010

Я, как и вы, только что заинтересовался разработкой для Android, и сам о себе не очень разбираюсь, поэтому возьмите это с крошкой или двумя солью.

Если вы хотите посмотреть, как работают макеты, существует среда программирования Eclipse, которую вы можете скачать бесплатно. Он имеет своего рода конструктор форм / редактор макетов, с которым вы можете поиграть, который показывает вам, как будет выглядеть ваш макет, древовидное представление, показывающее, как ваши макеты вложены, и вы можете просматривать необработанный XML, использованный для его создания. *

Это руководство по установке: http://developer.android.com/sdk/eclipse-adt.html#installing

Содержит все, что вам нужно знать, чтобы установить eclipse и работать с Android SDK.

В Android SDK есть пакет с примерами приложений. Вы можете импортировать эти образцы в Eclipse, а затем проверить редактор макета, чтобы увидеть, что они сделали. Однако не все компоненты макета, похоже, работают в редакторе eclipse, поэтому запуск программы на виртуальном устройстве Android может оказаться необходимым, чтобы увидеть, как выглядит приложение для запуска.

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

...