2012-03-23 1 views
1

Я много читал о создании пользовательского интерфейса, поддерживающего несколько разрешений экрана на Android. Я понимаю концепцию sp и dp.Каков наилучший способ поддержки нескольких устройств Android при загрузке изображений из Интернета?

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

ответ

3

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

Изображения являются одними из самых дорогих сетевых ресурсов, поэтому первая начальная точка - это то, насколько велики изображения? Затем вам нужно знать, как большой экран средний, который будет использовать ваше приложение. (Часто это будет основано на вашем дизайне).

Ваш размер загрузки image_width X image_height X 4 bytes (сбой сжатия, то есть). Если ваши полноэкранные изображения - 1024 X 768, и у вас их 10, например, результат слишком велик, чтобы быть желательным по сети 3G, но можно проглядеть через Wi-Fi или 4G. В этот вопрос, спрашивая подходящий размер, может быть лучше.

Если ваши изображения даже не занимают половину экрана, и они загружаются только по одному, загрузка и изменение размера в режиме исполнения лучше всего.

0

Для этого используйте веб-представление с шириной и шириной fill_parent.

Внутри манифеста просто положить ниже код:

  <supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" /> 

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

How to make my app full screen on Galaxy Tab

+0

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

+0

@FuzzicalLogic Что вы берете. Думаю, вы не правильно прочитали Вопрос. Он хочет, чтобы приложение выполняло все разрешения экрана. какой метод вы принимаете о том, что важно, это решение не метод. Если вы хотите, вы можете попробовать выше и дать комментарий. и, кстати, если есть какое-то решение, тогда скажите ему и мне. если вы не знаете решения, то, по крайней мере, уважайте решение, если кто-то дает. вы просто попробуйте выше и скажите мне, если это не работает. –

+0

Нет, он запрашивает соответствующий метод: a) изменение размера во время выполнения или b) изменение размера на сервере. Он уже знаком (и так говорит) с поддержкой нескольких экранов. Кроме того, он не запрашивает инструменты. Он просто хочет знать a) или b) –

0

Это отрывок из Android разработчиков сайта

По умолчанию Android масштабирует растровый (вводимый коэффициент .png, .jpg и .gif файлов) и Nine-Patch (.9.png вводимого коэффициент файлы), чтобы они отображали на соответствующий физический размер на каждом устройстве. Например, если ваше приложение предоставляет рисунки растровых изображений только для базовой линии, средней плотности экрана (mdpi), то система масштабирует их, когда на экране высокой плотности , и масштабирует их вниз, когда на низкой плотности экран.

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

Так что, если бы я тебя, Я бы не стал беспокоиться, так как Android обещает уменьшить ваши изображения.

Один из лучших подходов - проверить ваше приложение на нескольких размерах экрана, и если вы не найдете его совместимым с некоторым размером экрана, просто не включайте этот размер экрана в свой манифест, как указано в ответе Mayur Rahetkar's.

+0

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

+0

Исправьте меня, если я ошибаюсь, но разве этот раздел (особенно sdpi, mdpi, ldpi) из сайта Android Dev не относится к чертежам, которые вы уже включили в проект во время компиляции? – package

+0

@package: да, вы правы, но думайте так, если система Android имеет возможность выбрать подходящее изображение во время выполнения и изменить его размер, я не нахожу причины, почему она не будет работать с загруженными вами изображениями. –

Смежные вопросы