Android TV 和 Fire TV 设备是否始终保证过扫描?

Are Android TV and Fire TV devices always guaranteed to overscan?

我在 Android TV / Fire TV 上有一个超级简单的视频播放器,基本上我的 UI 只是一个也匹配父级的 'Layoutmatching parent and then inside aPlayerView`。

在 Android TV 和不同电视上的 Fire TV 上,我得到大约 2.5% 的过扫描。我可以按照 Android TV 开发指南轻松纠正此问题,但我应该将其应用于我的所有用户吗?我担心如果我为此发布更新,那么一些用户最终会看到视频不会填满整个电视。有没有办法知道我是否需要考虑过扫描?

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/black"
    tools:context=".connected.VideoFragment">
    <com.google.android.exoplayer2.ui.PlayerView
        android:id="@+id/videoView"
        app:surface_type="texture_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:controller_layout_id="@layout/custom_player_controls" />
</androidx.appcompat.widget.LinearLayoutCompat>

编辑:我想提一下,我在 YouTube 应用程序中播放了一段 YouTube 视频,向您展示了过扫描量,而 YouTube 应用程序也有 2.5% 的过扫描。在 3 台电视上复制了这个。

过扫描量因电视面板而异。有些电视没有,但有些电视高达 5%。一些模型允许用户调整过扫描,但不幸的是并非所有模型。对于专业视频(例如,好莱坞电影或电视节目),在所有内容的取景中都考虑了过扫描,因此可以放心使用 edge-to-edge。有些电视会剪掉一小部分视频,但不会像标题、字幕等重要的东西。对于其他类型的视频,它可能会更有问题,尤其是对于可以剪切菜单和工具的屏幕录制关闭,所以这取决于您的用例。可以考虑做成user-adjustable.

对于所有 non-video 内容,您应该考虑对用户重要的任何内容(菜单、按钮、文本等)的过扫描,但通常背景图像会 edge-to-edge .一个简单的 XML 布局应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

<!-- Screen elements that can render outside the overscan safe area go here -->

    <!-- Nested RelativeLayout with overscan-safe margin -->
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_marginTop="27dp"
       android:layout_marginBottom="27dp"
       android:layout_marginLeft="48dp"
       android:layout_marginRight="48dp">

      <!-- Screen elements that need to be within the overscan safe area go here -->

    </RelativeLayout>
</RelativeLayout>

注意:如果您使用的是 AndroidX Leanback 片段(例如 BrowseSupportFragment),则会为您处理过扫描。