首页 > 解决方案 > Android 电视布局尺寸

问题描述

在 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 的正方形,因此根据我的理解,它应该在所有设备上显示为 1 英寸 * 1 英寸。但是,当我在电视上运行它时,它看起来比我预期的要大得多:

在连接到 15.6 英寸真实电视的消防电视棒上: 在此处输入图像描述

在 55 英寸电视模拟器上: 在此处输入图像描述

它们看起来都比 1 英寸 * 1 英寸大得多。dp值对电视有不同的含义吗?

在像素 xl 2 上: 在此处输入图像描述 正如您在像素 xl 2 上看到的,它根本不是正方形。

标签: androidandroid-layoutandroid-xmlandroid-tv

解决方案


我相信电视使用 dps 更像是“标准分辨率”,它们的分辨率大致相同,因此您可以计划事物的外观而不是物理尺寸,但我无法在官方文档中找到任何参考。

从官方文档(https://developer.android.com/training/tv/start/layouts):

“电视屏幕通常在 10 英尺远的地方观看,虽然它比大多数其他 Android 设备显示器大得多”

因此,也可能针对此距离调整了倾斜度,并且被认为与靠近您脸部的手机上的倾斜度“相同大小”。


推荐阅读