Ресурсы для разных планшетов 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

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