Android - Предоставление альтернативных ресурсов не работает? - PullRequest
6 голосов
/ 15 сентября 2010

Мне кажется, что я что-то упускаю.

В своем приложении я решил предоставить альтернативные ресурсы для рисования и альтернативные файлы макетов. Моя структура выглядит следующим образом:

Рез / вытяжка-ИПЧР / filename.png
Рез / вытяжка-MDPI / filename.png
res / drawable-ldpi / filename.png

Рез / макета небольшой / layout.xml
разреш / макет большой / layout.xml
res / layout / layout.xml

Я создал три разных эмулятора: один с HVGA по умолчанию, один с QVGA и один с WVGA800

Кажется, он не подбирает эти альтернативные ресурсы / макеты в зависимости от размера / плотности экрана, или, может быть, я просто не могу сказать?

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

Другой вопрос, насколько хорошо Android масштабирует рисованные объекты, если нет альтернативного ресурса?

Ответы [ 2 ]

1 голос
/ 20 августа 2013

В 3.2 вышеприведенной версии Android-разработчика были выпущены две новые вещи для планшетов

layout-sw600dp-land
layout-sw720-land
1 голос
/ 15 сентября 2010

Несколько точек, в произвольном порядке:

  • Макеты относятся к размеру экрана и, таким образом, к большим, средним, маленьким объектам и объектам рисования относятся к плотности и, следовательно, к hdpi, mdpi, ldpi.Это очевидно для одних и не так легко понять для других.
  • Прочитайте this и создайте устройства эмулятора, как указано на этой странице, дважды проверьте, чтобы убедиться, что вы правильно поняли.
  • Теперь начните с простого макета и протестируйте его на стандартном скине устройства, затем добавьте layout-320x480, протестируйте, повторите для других размеров.Если вы используете layout-large / small и т. Д., Не забудьте добавить правильные строки в AndroidManifest.xml <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizable="true" android:anyDensity="true" />
  • Один из простых способов сделать это - создать папку layout.xml и drawables по умолчанию, а такжеРазные размеры имеют папки layout-320x480.xml и т. д., а также разные плотности. У нас есть папки drawables-hdpi и т. д.Если вы обязательно установите android:anyDensity="false" /> в файле манифеста, то телефон получит правильные макеты и ресурсы в зависимости от его атрибутов.

Если вы установите android:anyDensity="false" /> в файле манифеста, трубка будет обрабатывать размерdrawables, обычно беря активы из папки drawables и изменяя их размер.

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