Android Samsung S I9000 размер экрана и проблемы с плотностью - PullRequest
0 голосов
/ 02 марта 2012

У меня проблемы с приложением на Samsung S I9000. Кнопки в моем приложении намного больше, чем должны быть. Кроме того, система выбирает res / values-small / в качестве источника значений. В целом, он работает так, как будто у устройства очень маленький экран, хотя якобы он 800x480 (я работаю в ландшафтном режиме). Фактически, я могу улучшить ситуацию, изменив значения в файле res / values-small / styles.xml на размер шрифта даже меньшего размера, чем я уже использовал.

Показываются следующие метрики:

 density = 2.0
 scaledDensity = 2.0
 densityDpi = 320
 widthPixels = 800
 heightPixels = 480
 xdpi = 320.0
 ydpi = 320.0

Кто-нибудь может объяснить, почему устройство так сильно увеличивает мою графику и ведет себя так, как будто у меня очень маленький дисплей? Что еще более важно, как я могу это исправить?

Я пытался настроить мой манифест, чтобы установить minSdk и targetSdk в недавний выпуск, но это не имело никакого эффекта. Удаление значений small / заставило приложение использовать значения по умолчанию / вместо этого, что только ухудшило ситуацию.

1 Ответ

2 голосов
/ 02 марта 2012

Всегда используйте "sp" для шрифта и остальных, так как "dp"

поместите изображение в соответствующую папку, как показано ниже

предположим, что вашИспользует изображение 36x36 для mdpi, вам нужно использовать

drawable-mdpi - 36 x 36
drawable-hdpi - 48 x 48
drawable-xhdpi  72 x 72

3: 4: 6: 8 ratio

В некоторых ситуациях вы можете не захотетьAndroid для предварительного масштабирования ресурса.Самый простой способ избежать предварительного масштабирования - поместить ресурс в каталог ресурсов с квалификатором конфигурации nodpi.

Например:

res/drawable-nodpi/icon.png

, например

Вы используете размер шрифта как 14sp, что означает, что он автоматически изменится на 320 DPI на

14×320÷160 =28

, поэтому теперь ваш размер шрифта составляет 28 дп для телефона с разрешением xhdpi.

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