Ресурсы для разных планшетов android
Мне нужно положить разные ресурсы для двух планшетов Samsung в моем приложении. 600x1024 (Samsung Galaxy Tab 7 дюймов) 800x1280 (Samsung Galaxy Tab 8,9 дюймов) Итак, я создал две разные папки drawable-port(для 7 дюймов) и drawable -large-port(для 8.9 in) в папке res, но оба устройства выбирают ресурсы из папки drawable-large-port.
когда я запускаю getResources().getConfiguration().screenLayout для обоих устройств выводится как SCREENLAYOUT_SIZE_LARGE
так какими должны быть имена папок, чтобы оба устройства выбирали ресурсы из разных папок.
Спасибо Нариндер
3 ответа
Вы можете измерить ширину экрана, используя:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
System.out.println("width :: "+width);
System.out.println("height :: "+height);
Затем вы можете установить Drawable, используя ширину как:
if(width == 600)
// set drawable-1
else if(width == 800)
// set drawable-2
Лучший результат - это следующее:
---------------- для телефонов ------------------------
рисуем-ldpi
рисуем-MDPI
рисуем-ИПЧР
----------------- для 7-дюймовых планшетов ----------------
рисуем-большой-MDPI
drawable-large-hdpi(для Nexus 7)
---------------- для 10-дюймовых планшетов ----------------
рисуем-XLarge-MDPI
Оба устройства являются БОЛЬШИМИ экранами, поэтому в этом случае они оба получают один и тот же ресурс, когда смотрят в ваши папки для рисования. Они всегда будут ходить в большой порт для портрета и в большой пейзаж для пейзажа.
Вы можете добавить к этой функциональности, создавая разные макеты для двух устройств, которые по-разному используют drawables в drawable-large-port, чтобы воспользоваться разным размером экрана. Вы можете определить различные размеры, как показано ниже для ваших макетов:
res/layout-sw600dp/ // For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/ // For 10” tablets (720dp wide and bigger)
Вы можете узнать больше о работе с экранами / устройствами разного размера на http://developer.android.com/guide/practices/screens_support.html