Одинаковый формат 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>

0 ответов

Другие вопросы по тегам