Дизайн Android против iPhone Дизайн, Относительный против Абсолют - PullRequest
1 голос
/ 09 февраля 2012

У меня есть клиент, который хочет, чтобы я создал версию Android для своего существующего приложения для iPhone. В дизайне iPhone не используются нативные элементы iPhone. По сути, это своего рода сетка с изображениями, кнопками, текстом и т. Д. Конечно, сделать приложение для iPhone было легко из-за фиксированной ширины / высоты пикселей. Базовая сетка, которая определяет экран, загружается через файл XIB, и я загружаю пользовательские кнопки в нужные контейнеры в сетке, указывая точные координаты.

Затем приходит Android ...

Наш клиент хочет настроить таргетинг на 3 конкретных планшета (1024x600). Они дали нам дизайн для портретной версии приложения размером 600x980. Не рекомендуется использовать AbsoluteLayout в Android. Какой самый простой способ убедиться, что я могу масштабировать его на разных устройствах, но чтобы он выглядел как данный дизайн на 3 целевых планшетах.

У меня была одна идея (я не уверен, могу ли я ее реализовать):

  • Получить ширину экрана в пикселях и высоту
  • На основе соотношения ширины / высоты конструкции, накладка с полосами сверху / снизу или слева / справа
  • Тем не менее сделать AbsoluteLayout на основе этой информации

Я бы предпочел не делать этого так, потому что это звучит запутанно и противоречит способу действий Android. Другая проблема, возникающая при масштабировании, заключается в следующем. Есть панель кнопок, у которых есть линии, разделяющие их. Эти строки имеют ширину 4 пикселя. Очевидно, что когда вы начнете масштабировать, это все испортит. Я не могу найти много информации об этом s

1 Ответ

5 голосов
/ 09 февраля 2012

Вы, вероятно, хотите начать здесь:

http://developer.android.com/guide/practices/screens_support.html

Но быстрые очки, вероятно,

  • Не используйте абсолютный макет. Твоя жизнь станет ужасной
  • Обрабатывать размеры в пикселях, не зависящих от плотности, чтобы они правильно масштабировались на разных устройствах
  • Используйте изображения из девяти пятен, чтобы при растяжении изображений они растягивались в нужных областях, сохраняя границы в 2 пикселя и т. Д.
  • Воспользуйтесь преимуществами разных папок ресурсов для изображений различной плотности (drawable-mdpi против drawable-hdpi) и макетов разных размеров (layout-small против layout-large). Последнее позволит вам иметь отдельные макеты для ваших планшетных устройств.

Удачи: -)

...