Поддержка нескольких устройств разрешения Android

Я застрял в ситуации. Я создал приложение для Samsung Galaxy Tab 7". Это же приложение, когда я запускаю на HTC Flyer, оно показывает очень маленькие шрифты.

Я попробовал следующее: я подумал, что экран HTC Flyer может быть xhdmi, поэтому я создал папки соответственно

res -> values-large-xhdmi -> styles.xml -> <item textsize>20</item>
res -> values-large-> styles.xml -> <item textsize>16</item>

это не работает..:(любая помощь будет весьма заметна в этом отношении.

Благодарю.

2 ответа

Решение

Проверьте это недавнее сообщение в блоге о размерах: http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

Типичный 7-дюймовый планшет имеет экран с разрешением 1024x600 точек на дюйм. Это также считается большим экраном.

Оригинальный Samsung Galaxy Tab - интересный случай. Физически это 1024x600 7-дюймовый экран и, таким образом, классифицируется как "большой". Однако устройство настраивает свой экран как hdpi, что означает, что после применения соответствующего коэффициента масштабирования actual фактическое пространство на экране составляет 682dp x 400dp. Это фактически выводит его из "большого" сегмента в "нормальный" размер экрана. Вкладка на самом деле сообщает, что она "большая"; это была ошибка в вычислении фреймворка размера для того устройства, которое мы сделали. Сегодня ни одно устройство не должно поставляться таким образом.

Таким образом, вы должны думать о Галактике как о большом экране, но с разрешением HDMI. HTC Flyer будет с экраном большого размера, но с mdpi.

При указании размеров вы должны придерживаться dp, так как это нормализует все размеры, чтобы масштабироваться соответствующим образом для экранов с различной плотностью. Используйте измерение, чтобы указать ресурс значения XML.

Как подсказал milind (я думаю), вероятно, лучше использовать один и тот же стиль для этих двух размеров экрана и указать размерный ресурс. Затем этот ресурс можно настроить для разных дисплеев.

Суть, однако, в том, что вы используете различия в размере текста в зависимости от размера экрана. Размер текста должен быть указан в dp, поэтому он будет масштабироваться в соответствии с любой плотностью экрана. Действительно, единственные ресурсы, которые должны основываться на размере экрана, - это макеты.

Если вы планируете сделать приложение с поддержкой нескольких разрешений для Android, вам просто нужно заботиться об изображении и XML, и вам больше не нужно, чтобы у вас были одинаковые изображения трех разных размеров, помещенные в разные папки, такие как drawable-hdpi, drawable-ldpi, drawable-mdpi. Вы можете сделать style.xml общим для всех.

Спасибо

Другие вопросы по тегам