Выбрать макет вручную?
В моем XML, у меня есть маленький, нормальный, большой и набор макетов по умолчанию.
Я не хочу, чтобы устройство автоматически выбирало макет, но я хочу выбрать базу по разрешению ширины устройства.
Это мое manifest.xml
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" >
</supports-screens>
Как это установить?
1 ответ
В вашем проекте res/
каталог, вы должны включить макеты папок для каждого размера экрана, который вы поддерживаете. Возможные имена папок будут layout-small
, layout-normal
, layout-large
а также layout-xlarge
, Если вы опустите одну или несколько папок с размером экрана, Android будет использовать следующую ближайшую папку, равную или меньшую этому размеру, и также рекомендуется иметь папку "по умолчанию", которая называется просто layout
которые могут быть использованы в качестве всеобъемлющего (рекомендуем использовать это вместо layout-small
). Внутри каждой папки вы обычно размещаете XML-файл макета, соответствующий этому размеру экрана, и все файлы будут иметь одно и то же имя (например, layout-normal/my_layout.xml
, layout-large/my_layout.xml
, так далее.).
Изнутри вашего Activity
"s onCreate()
метод, который вы бы назвали setContentView(R.layout.my_layout)
, который автоматически выберет правильную компоновку из папки, соответствующей размеру экрана устройства.
Вот очень полный документ, который объясняет проектирование приложений для экранов разных размеров, включая информацию, упомянутую выше.