Перенос элементов пользовательского интерфейса iOS на Android - PullRequest
14 голосов
/ 22 августа 2011

Уважаемые дамы и господа!

Очень часто на своей работе я отвечаю клиенту при разработке приложений для Android: «сделай так, чтобы приложение для iPhone».

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

Не могли бы вы, ребята, посоветовать, пожалуйста, библиотеку Android (если она есть) с элементами пользовательского интерфейса в стиле iOS?Заранее большое спасибо, жду от вас ответа!

Ответы [ 4 ]

9 голосов
/ 27 августа 2011

Чтобы расширить комментарий Мартина , с которым я согласен.

Возможно, есть веская причина, по которой клиент мог бы попросить об этом, но во многих случаях я держу пари, что ему может быть выгодно оспаривать это требование. Если бы мне представили этот запрос, я бы сначала спросил «Почему?». Возможно, они ответят так:

  1. нам нужен постоянный опыт работы на разных платформах или
  2. будет более выгодно спроектировать один раз и применить к каждой платформе, или
  3. не важно почему, просто сделай это!

Вот несколько ответов для каждого:

  1. у каждого пользователя обычно будет один телефон, и он не будет требовать, чтобы опыт на Android был идентичен iPhone - им нужно только, чтобы он работал и отлично смотрелся на своем телефоне. Фактически, пользователь Android предпочел бы, если бы вы использовали шаблоны пользовательского интерфейса, которые более распространены в платформе, а не проектировали, чтобы соответствовать iOS. Аналогично для пользователя iPhone.

  2. мы обнаружили, что, когда дизайнер создает набор креатива для iOS, мы можем в значительной степени использовать креатив как есть для Android. Хотя Android может иметь вкладки сверху, а не снизу, мы по-прежнему можем переносить фоны, стили кнопок, шрифты и цветовые схемы с одной платформы на другую. Там будут небольшие различия, но в целом бренд и внешний вид должны хорошо переводиться. Вот пример переноса одного креативного дизайна на разные платформы: http://daleburgosdesign.com/

  3. если они ответят таким образом, вы можете рассмотреть возможность передачи на работу. Идеальное совпадение пикселей на разных платформах сложно, если не учитывать идеи, предложенные в предыдущих ответах (OpenGL и использование WebView - через Macarse). Если клиент не может дать веские аргументы для этого хитрого требования, то может быть лучше найти вашего следующего клиента.

Не прямой ответ на ваш вопрос, но я надеюсь, что вы найдете его полезным!

5 голосов
/ 26 августа 2011

Нет библиотеки iphone UI для Android, о которой я знаю. Что вы можете сделать, так это получить psd для iphone GUI и повторить его для 3-х размеров андроида (для 3-х диапазонов размеров) и использовать элементы этих psd для темы вашего приложения.

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

Кстати, вы также можете рассмотреть такие библиотеки, как Sencha Touch, он будет выглядеть одинаково на всех телефонах, использующих браузер webkit.

3 голосов
/ 26 августа 2011

AFAIK, для iOS нет библиотек виджетов типа iOS.

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

1 голос
/ 26 августа 2011

Нет библиотеки для переноса представлений iphone на Android, но если вы запускаете оба приложения с нуля, у вас есть два возможных подхода к обмену представлениями между обеими платформами.

Первый использует WebView s икодирование HTML, JS и CSS.Такое приложение называется гибридным.

Второе приложение использует openGL.Вы можете сделать это напрямую или с помощью фреймворка, например cocos2d-x .

В зависимости от того, что вы хотите, вы должны выбрать, что использовать.

...