Лучший способ справиться с различными размерами экрана Android? - PullRequest
4 голосов
/ 26 августа 2009

Мы пишем приложение для T-Mobile MyTouch, мобильного телефона на базе Android. У нас есть изображения, которые будут отображаться в портретном режиме экрана по умолчанию (320 x 480).

Ожидая появления ОС Android на нетбуках с стандартным форматом экрана 16: 9, каков наилучший способ обработки изображений в портретном режиме? Другими словами, поскольку вы не можете поворачивать экран на этих нетбуках, если вы выводите изображение в портретном режиме на экран в ландшафтном режиме, с обеих сторон изображения будут большие пустые прямоугольники.

Ответы [ 3 ]

3 голосов
/ 27 августа 2009

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

Помните, что Android поддерживает использование альтернативных макетов для идентичных видов. Если у вас есть макет портрета, например res / layout / gallery.xml , вы можете создать ландшафтный эквивалент в res / layout-land / gallery.xml , и Android автоматически загрузит последний файл макета, если будет запущено действие в ландшафтном режиме.

С помощью отдельного XML-файла макета вы можете упорядочить свое изображение так, как вам кажется, лучше всего подходит для целей вашего приложения (приложение, отображающее медицинские изображения, может иметь приоритеты представления, отличные от того, которое отображает семейный портрет). Например, вы можете просто заполнить фон градиентом или получить дополнительную информацию, которая в противном случае скрыта в портретном режиме. Все зависит от того, чего вы хотите достичь с помощью приложения, и от того, сколько вы готовы пойти, чтобы учесть все возможности.

Но, в конечном счете, при условии, что пользователь сможет видеть изображение в полном объеме без необходимости переворачивать свой нетбук на бок, я думаю, они будут счастливы:)

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

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

Однако, если вам интересно, что делать, когда на экране должно быть нарисовано изображение неизвестного размера (например, в случае применения фотоальбома), эти черные прямоугольники можно оставить с обеих сторон. Посмотрите, как выглядит видеоплеер на телефоне Android Dev 1. Он адаптирует высоту видеокадра к ландшафтному режиму и воспроизводит видео в ландшафтном режиме, независимо от того, подходит ли портретный режим. *

0 голосов
/ 27 августа 2009

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

  1. Поместите баннер вверху. Положить список под ним, а затем кнопки под списком.
  2. Разместить баннер на вершина. Поместите кнопки в нижняя часть экрана, а затем список занимает пространство между баннер и кнопки.

Макет 1) будет иметь проблемы с различными размерами экрана, и макет будет выглядеть странно или может не отображаться правильно. Принимая во внимание, что 2) дает вам лучший внешний вид для большинства размеров экрана.

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