Как начать разработку приложения для Android для устройств разных размеров / плотности? - PullRequest
1 голос
/ 09 декабря 2010

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

Я задаю этот вопрос, потому что последние два приложения, которые я разработал, ябросил все ресурсы с изображениями в папку drawable-hdpi, не работал с альбомным режимом, тестировал его в основном на своем личном телефоне Droid и, по сути, чувствовал, что я разрабатываю только для своего собственного устройства.Хотя я всегда использовал dpi и sp в соответствующих местах, этого было недостаточно, чтобы мое приложение масштабировалось соответствующим образом на других размерах / плотностях экрана.Иногда он хорошо масштабируется, но всегда имеет тенденцию обрезать часть экрана при меньших размерах.

Как лучше всего запустить приложение, которое будет масштабироваться, по крайней мере, достаточно хорошо на всех устройствах?

Например, должен ли я создать макеты моего приложения так, чтобы оно выглядело правильно на экране HVGA по умолчанию и позволяло масштабировать его до большей плотности?Не лучше ли активно создавать файлы макетов как для портретной, так и для альбомной ориентации?

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

1 Ответ

2 голосов
/ 09 декабря 2010

Я всегда следую этим правилам:

  • установить все от Support-Screens на true.Android будет знать, что вы готовы к любой экранной среде, и вы будете знать, что он не выполняет виртуализацию экрана.Например: даже если ваше устройство имеет экран большого размера, ваш код будет видеть его как экран обычного размера
  • не используйте фиксированные размеры для ширины и высоты.Если необходимо, используйте «dp» в качестве виртуального пикселя.используйте WRAP_CONTENT и FILL_PARENT.«dp» - это физический пиксель на экране с разрешением 160 точек на дюйм.Если ваше приложение работает на устройстве с более низкой / более высокой плотностью, android пересчитает это для вас.
  • используйте «dp» в качестве единицы для размера шрифта.
  • попробуйте сделать все относительно.Вы можете использовать RelativeLayout, если вы хотите иметь «что-то под другим» и т. Д. Если вам нужны проценты, вы можете использовать LinearLayout.
  • использовать девять патчей в качестве фона.
  • убедитесь, что вы поставилиресурсы в правильные папки для рисования и макета.

Конечно, это не лучший подход для каждого проекта :) Иногда дизайнеру пользовательского интерфейса требуется дополнительное:]

...