Одинаковый формат xml для телефона и планшета с одинаковым разрешением - плохо масштабируется
У меня есть мысли о том, как работает верстка в разработке Android.
Я написал приложение для планшета с разрешением Full HD (10" Xperia Z1 Tablet, 1920 x 1200). Приложение выглядит хорошо и хорошо работает на планшете. Приложение всегда находится в альбомном режиме.
Когда я устанавливаю то же приложение на 4,8-дюймовый телефон, который имеет половину разрешения (1280 x 800), мне нужно указать другой макет и назвать папки с помощью w thingie (и изменить макет, чтобы он лучше подходил к телефону),
ТАБЛЕТКИ
Итак, для планшета я думаю, что я должен использовать:
layout-w1359dp-land
и причина заключается в следующем:
Точек на дюйм: 226 ( http://pixeldensitycalculator.com/?h=1920&v=1200&d=10)
Ширина (px): 1920
Расчет: 1920 / (226/160) = 1920 / 1,4125 = 1359
ТЕЛЕФОН
И для телефона
layout-w652dp-land
и причина заключается в следующем:
Точек на дюйм: 314 ( http://pixeldensitycalculator.com/?h=1280&v=800&d=4.8)
Ширина (px): 1280
Расчет: 1280 / (314/160) = 1280 / 1,9625= 652
Эта проблема:
Это не работает. Это выглядит так же плохо, как и всегда. Кажется, что это вообще не учитывает layout-w652dp-land.
Изображения показывают проблему, и я не понимаю, почему это не имеет значения, что я делаю в папке layout-w652dp-land...
Кто-нибудь имеет представление о том, почему папки не "уважаются"?
Просмотр планшета (все в порядке):
** SAMSUNG S3 PHONE VIEW (до и после изменения имени папки) **
========== РЕДАКТИРОВАТЬ ==============
Я ждал публикации XML, так как не хотел делать этот пост слишком большим, и я не был уверен, что он имеет отношение к "общему" вопросу, но вот он =)
booking_row.xml - каждая строка определяется следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#AAF0F0F0">
<!-- TODO: Update blank fragment layout -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" >
<TableRow
android:id="@+id/booking_row_tablerow"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
android:gravity="center_vertical"
android:background="@android:drawable/list_selector_background"
>
<View
android:id="@+id/booking_row_status_color"
android:layout_width="30dp"
android:background="@android:color/holo_red_dark"></View>
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000" />
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:layout_gravity="center" >
<TextView
android:id="@+id/booking_row_tv_time"
android:layout_width="60dp"
android:layout_height="fill_parent"
android:text="13:10"
android:textSize="10sp"
android:layout_column="3"
android:padding="5dp"
android:gravity="center"
/>
</FrameLayout>
<View
android:id="@+id/View01"
android:layout_width="0px"
android:layout_height="0dp"
android:background="#46000000" />
<View
android:id="@+id/View01"
android:layout_width="0px"
android:layout_height="0dp"
android:background="#00ffffff" />
<TextView
android:id="@+id/booking_row_tv_name"
android:layout_width="200dp"
android:text="Test test"
android:textSize="17sp"
android:layout_column="3"
android:padding="5dp" />
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/booking_row_imageview_direction"
android:layout_column="1"
android:src="@drawable/icon_car_incoming"
android:padding="5dp"
/>
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000" />
<TextView
android:id="@+id/booking_row_tv_address"
android:layout_width="250dp"
android:text="Some address"
android:textSize="17sp"
android:layout_column="3"
android:padding="5dp" />
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000" />
<TextView
android:id="@+id/booking_row_tv_delayInfo"
android:layout_width="80dp"
android:text="Info info"
android:textSize="17sp"
android:layout_column="3"
android:padding="5dp" />
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000" />
<ImageView
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:id="@+id/booking_row_gps_valid"
android:src="@drawable/icon_gps_valid" />
<View
android:id="@+id/View01"
android:layout_width="3px"
android:layout_height="fill_parent"
android:background="#22000000"
android:visibility="gone" />
<TextView
android:id="@+id/booking_row_tv_miscInfo"
android:layout_width="200dp"
android:text="Framplats, ENS"
android:textSize="30sp"
android:layout_column="3"
android:padding="5dp"
android:visibility="gone" />
</TableRow>
</TableLayout>
</FrameLayout>