2013-03-14 2 views
5

У меня есть две папки макета, layout-sw600dp для 7" планшета (1024X600) mdpi и другая с именем layout-xlarge для 12 "планшета (1280X800) mdpi. Проблема в том, что когда я запускаю свой проект в 7 «эмулятор он рисует макет из папки layout-xlarge вместо layout-sw600dp. Я также пробовал другие решения, изменяя имена папок, которые указаны на разных сайтах, но не нашел подходящего решения для моей проблемы. Пожалуйста, предоставьте мне рабочее решение для этой проблемы. Заранее спасибо.Layout Имя папки для 7 "Tablet

ответ

9

Следует помнить, что использование идентификатора ресурса swXXXdp работает только на устройствах под управлением Android 3.2+ (который был добавлен). Старые устройства не будут распознавать и поэтому не будут использовать эти идентификаторы, поэтому вы должны использовать старые идентификаторы (small, normal, large, xlarge), если вы планируете поддерживать планшеты под управлением Android < 3.2. На данный момент только 0,3% планшетов запускают Android 3.1 (API 12), поэтому безопасный звонок не полностью поддерживает их - http://developer.android.com/about/dashboards/index.html.

Существует отличный блог, объясняющий, как использовать эти новые идентификаторы ресурсов. http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

Для вашего конкретного вопроса, если вы только поддерживаете Android 3.2+ для раскладок планшета, измените папку layout-xlarge на layout-sw720dp для поддержки 10 «+ таблетки, и ваш layout-sw600dp будет поддерживать 7» макеты планшета.

+0

Steven Byle Sir Спасибо большое, я изменил уровень API-интерфейса Emulator до 13, и он сработал. Существует небольшая проблема, когда я запускаю свой проект в Nexus (7.27 "), потому что он также использует layout-w600dp, но его разрешение - tvdpi (800X1280), поэтому некоторые элементы пользовательского интерфейса отображаются неправильно. –

1

Варианты папок макета обширны. Вы не только можете указать такие вещи, как layout-land/ или layout-large, вы также можете указать их смеси, например layout-large-land/ или layout-xhdpi-land/. Вы можете увидеть все квалификаторы here at Android Developers.

Для вашей проблемы проверьте, соответствует ли размер вашего планшетного эмулятора правильному разрешению экрана. При создании AVD вы можете указать конкретное разрешение экрана. Кроме того, при указании layout-sw600dp/, он проверяет ширину фактической доступной ширины вашей текущей активности. Например, на планшетах, работающих под управлением 4.2, для системной панели используется ~ 50dp нижней части экрана, а некоторые используются для верхней панели действий, если не в полноэкранном режиме. Это уменьшило бы фактическое значение dp до менее 600.

+0

thank u sir. Это сработало. –

Смежные вопросы