У меня были проблемы с моим приложением на 7-дюймовом устройстве. В целях отладки я добавил всплывающее сообщение, которое отображается после загрузки приложения, чтобы сообщить мне, какую папку ресурсов использует приложение, т.е. какие квалификаторы. У меня есть файлы strings.xml в каждой из следующих папок ресурсов:
значения
значения-нормальные
значения-большие
значения-xlarge
значения-sw600dp
значения-sw720dp
Содержимое строки, используемой всплывающим сообщением, зависит от папки, в которой находится строка. У меня также есть шесть папок макетов с теми же квалификаторами, что и выше, и у меня есть действительные XML-файлы макетов во всех шести папках макетов. Мое приложение отлично работает на «обычных» экранах и 10-дюймовых экранах планшетов.
Проблемное 7-дюймовое устройство (моего приятеля) представляет собой дешевый «Аудиосоник» под управлением Android 4.1.1. Видимо разрешение 800х480, а физическая наименьшая ширина экрана 86мм, или 3,4 дюйма. Это означает 142 dpi.
Учитывая уравнение
dp = (пиксели x 160) / dpi
Наименьшая ширина должна быть 541dp.
А теперь самая сумасшедшая часть, и мой вопрос... с какой стати ресурсы sw720dp (макет и строки) используются моим приложением на этом 7-дюймовом устройстве?!