Я новичок в программировании для Android. Прежде всего мне нужно, чтобы мое приложение поддерживалось двумя устройствами - телефоном (480x800) и планшетом (1280x800).
Я прочитал это и попытался сделать шаг за шагом.
Поддержка нескольких экранов
Итак, я создал папки с макетами:
res/layout/firstPage.xml//this is by default phone layout port and land
res/layout-sw720dp/firstPage.xml//this is tablet port layout
res/layout-sw720dp-land/firstPage.xml//this is tablet land layout
Мой xml выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_vertical"
android:baselineAligned="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:text="@string/button1" />
<Button
android:id="@+id/button2"
android:text="@string/button2" />
<Button
android:id="@+id/button3"
android:text="@string/button3" />
</LinearLayout>
Я не даю больше информации о кнопке, потому что в каждом макете они разные.
В моем AndroidManifest.xml у меня есть эта строка:
<supports-screens android:anyDensity="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:largeScreens="true"/>
Может быть, мне не нужно устанавливать true для других, если я устанавливаю значение true для этого anyDensity = "true"
Так что я думаю, что сделал все, как должен. Но когда я хотел проверить на планшете, он показывает мне макет по умолчанию телефона.
Так что я пропустил?
Или мне нужно сделать кодирование тоже?
Отредактировано:
Думаю, я понимаю, почему ...
Начиная с Android 3.2 (уровень API 13), вышеперечисленные группы размеров устарели, и вместо этого следует использовать спецификатор конфигурации swdp, чтобы определить наименьшую доступную ширину, требуемую ресурсами макета.
Моя таблица 3.1, так почему она не нашла макет?
Но что делать, если я хочу поддержать от 2,1 до 4?