Рассмотрим этот макет в res / layout:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/text_view"
android:layout_width="160dp"
android:layout_height="160dp"
android:background="@color/lb_tv_white"
tools:context=".MainActivity"
tools:deviceIds="tv"/>
Это квадрат 160dp * 160dp, поэтому он должен отображаться как 1inch * 1inch на всех устройствах в соответствии с моим пониманием. Однако, когда я запускаю его по телевизору, он кажется намного больше, чем я ожидал:
на флешке, подключенной к 15,6-дюймовому реальному телевизору:
на эмуляторе 55 дюймов:
Они оба выглядят намного больше, чем 1 дюйм * 1 дюйм. Значение dp имеет другое значение для тв?
на пиксель xl 2:
Как видно на пикселе xl 2, это совсем не квадрат.