2011-12-21 4 views
0

Начиная с Android 3.2 У меня есть эта странная проблема.Папка ресурсов Android для точного размера экрана

Это очень легко воспроизвести:

  1. Создать пустой проект;
  2. Добавить значения-480x320/каталог ресурсов;
  3. Измените строку в этой новой папке, например. @ string/hello, чтобы отличаться от значения по умолчанию внутри каталога values ​​/.

Теперь, на 3,1 и более низких устройствах и эмуляторах Android, все так, как вы ожидали. Но на 3,2 и выше (включая 4.x Galaxy Nexus и эмуляторы) значения-480x320/используются вместо значений/папки !!

Стоит упомянуть, что я не вижу, что значок совместимости «Растянуть/Увеличить, чтобы заполнить экран». Я попробовал сменить поддержку-экраны и использовать -sdk-теги в AndroidManifest.xml, но они не будут устранять эту проблему.

Так что мой вопрос: почему это происходит и что вы можете посоветовать, чтобы исправить это?

PS, я действительно не вижу причин, почему такие незначительные изменения в версии для Android от 3.1 до 3.2 должны разорвать старые приложения!

Заранее благодарен!

+0

Посмотрите здесь, может быть, это поможет: http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts – Jave

+0

Никто никогда не использовал «* -480x320 /» ресурсы в Android ??? ? – myself

ответ

0

В случае, если вам интересно: совет в основном не использовать папки с ресурсами на основе фиксированного разрешения, такие как значения-480x320.

0

Я полагаю, что в 3.2 был изменен алгоритм this. Попробуйте создать папки с различными значениями с квалификаторами, указанными here.

+0

Спасибо за такую ​​быструю поддержку парней! Если я удаляю папки старого стиля (например, значения-480x320) и заменяю их папками нового стиля (например, значения-sw320dp), проблема будет исправлена ​​на новых платформах 3.2+. Но в то же время макет будет разбиваться на 3,1 и ниже андроидов, потому что они просто не «понимают» новые суффиксы 3.2-стиля ... – myself

+0

И что произойдет, если у вас есть обе папки в res - с новыми и старыми суффиксами? – Jin35

+0

Как правило, папки нового стиля полностью игнорируются и заменяются папкой 480x320, если она есть. Но я пытался использовать различные комбинации старых и новых стилей и нашел что-то полезное - для эмулятора WVGA800/240dpi вы можете объявить значения-sw300dp, и эта папка сделает так, чтобы ресурсы из значений-480x320 были «проигнорированы» - если вы 't указать @ string/hello в значениях-sw300dp, будет использоваться строка @ string/hello из каталога по умолчанию /. Это исправление действительно беспорядочно, поэтому я ищу что-то лучшее. – myself

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