Drawables всегда читаются из папки mdpi, независимо от размера экрана - PullRequest
4 голосов
/ 03 октября 2011

Я пытаюсь создать приложение, которое работает как на Samsung Galaxy Tab GT P1000, так и на Samsung Galaxy Tab 10.1; У вкладки Samsung Galaxy 10.1 (1280 * 800) экран гораздо больше, чем у GT P1000, поэтому я предполагаю, что GT P1000 должен читать с hdpi, а 10.1 должен читать с xhdpi. Сюрприз в том, что они оба читают из папки mdpi. Привет

Ответы [ 3 ]

15 голосов
/ 03 октября 2011

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

Например, рассмотрим Galaxy Note 1 и Galaxy Tab 10.1, оба имеют разрешение экрана 1280*800, но вкладка galaxy 10.1 имеет физический размер экрана 10.1 inch, тогда как у Galaxy Note есть физический размер экрана 5.3 inch, чтопочти половина размера вкладки галактики.Таким образом, примечание galaxy имеет больше пикселей на дюйм, чем вкладка galaxy 10.1, и имеет плотность xhdpi, где, поскольку вкладка galaxy 10.1 имеет плотность mdpi, проверьте значения плотности в этой ссылке -

http://developer.android.com/guide/practices/screens_support.html

Для вкладки 10.1 вы должны использовать папку drawable-xlarge-mdpi, а GT P1000 также должен использовать mdpi, но, как я видел во многих онлайн-сообщениях, у GT P1000 есть проблема, у него плотность mdpi, но он использует drawables из hdpi, я не проверялЯ тоже, так что для GT P1000 вы можете попробовать использовать папку drawable-large-hdpi, если drawable-large-mdpi не работает.

А также добавить поддержку xlarge в манифест.

                  <supports-screens       
                  android:smallScreens="true" 
                  android:normalScreens="true" 
                  android:largeScreens="true" 
                  android:xlargeScreens="true"
                  />

Вы должныиспользуйте 2.3 и выше sdk для использования xlarge, как это было добавлено позже.

1 голос
/ 03 октября 2011

mdpi относится к плотности экрана, в точках на дюйм, а не к общему размеру. Я предполагаю, что оба устройства имеют одинаковую плотность, поэтому они загружают ресурсы из папки mdpi.

Вы можете использовать отдельные ресурсы макета в зависимости от фактического размера экрана (большой / средний / маленький), а не от плотности. См. документацию .

0 голосов
/ 25 февраля 2014

Просто создайте новое имя папки drawable-xlarge-mdpi и вставьте в него все изображения .. Устройство автоматически получит из этой папки ..!

Моя проблема с Galaxy Tab2 была решена!

...