Я проверил, что мой макет выглядит корректно, за исключением одного режима ландшафтного устройства, который я хотел бы исправить.Android 7-дюймовый планшет с таблетками
Supporting multiple screens выглядит устаревшим.
600dp: а 7” таблетка (600x1024 MDPI).
720dp: а 10” таблетка (720x1280 MDPI, 800x1280MDPI, и т.д.).
MDPI Ресурсы средней плотности (MDPI) экраны (~ 160dpi). (Это базовая плотность.)
ИПЧР Ресурсы для высокой плотности (ИПЧР) экраны (~ 240dpi).
Мое устройство представляет собой 7" планшет с разрешением 800 х 1280:. SM T235 имеет 216 точек на дюйм
Мне интересно, как я мог установить его размеры макета в ландшафтном режиме с меньшим влиянием на другие
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:gravity="bottom"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/top_left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:text="Tel: "
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="123456789" />
</LinearLayout>
ImageView должен быть ближе к левому краю, а TextView с «Tel:» должен быть ближе к изображению, но только в ландшафтном режиме и на этом устройстве. У меня есть другое устройство для тестирования: 10-дюймовое разрешение, и оно не должно влиять что.
Я думаю, что @dimen/activity_horizontal_margin
необходимо изменить в /res/values/dimens.xml
, добавив некоторые суффиксы в папку values
. я сгенерировал values-v21
и values-w820dp
EDIT: Сгенерированный файл в Android Studio: Рез/значения-w820dp /dimens.xml
<resources>
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
</resources>
Я понятия не имею, почему принимает значения от значения-w820dp, так как моя ширина меньше 820. Мне просто нужно было добавить -л.
Никогда не использовал tvdpi, кажется, я должен начать использовать, даже для планшетов, а не TV :) – Szabi
Ошибка: выполнение выполнено для задачи ': AndroidApp: mergeDebugResources'. > ... AndroidApp \ src \ main \ res \ values-tvdpi-land: Ошибка: недопустимое имя каталога ресурса – Szabi
Я не знаю почему, но это решение: values-w820dp-land – Szabi