Android TV 上的全分辨率 WebView

问题描述 投票:0回答:5

在 1080p 模拟器和智能电视 (nVidia Shield) 上,我只能获得 960x540 WebView。是否可以使用可用的整个分辨率?

android-tv
5个回答
2
投票

使用 Android TV 的 HDTV 被视为具有 2x 像素比的 960x540px 显示器。不确定如何识别 4k 电视,但要使用所有像素,请检查 window.devicePixelRatio 。


2
投票

我正在寻找相同问题的答案,但我可以确认以下内容。

1080p 电视测试

在设置中配置的每台设备仅使用 1080p 60Hz

Amazon Firestick 在所有经过测试的浏览器中获得 960 x 540 像素。

Shield TV 在所有经过测试的浏览器中获得 960 x 540 像素。

新的 Amazon Fire TV Cube 在所有经过测试的浏览器中获得 960 x 540 像素。

4K 电视测试

Amazon Firestick(不兼容 4K)在所有测试的浏览器中获得 960 x 540 像素。

Shield TV(输出设置为 4K 60Hz)在所有测试的浏览器中获得 960 x 540 像素。

新的 Amazon Fire TV Cube(输出设置为 4K 60Hz)在所有经过测试的浏览器中获得 960 x 540 像素。

更奇怪的是1080p和4K都测试报告的像素比 是 2。我至少期望在 4K

上看到 960x540 上的像素比为 4

我使用连接到 PC 的电视来显示大量状态数据表。 当充分利用 70" 4K 电视显示数百种不同的信息时,它是一件美丽的事情。

然后你得到一个 Nvidia Shield,因为它是“4K”,并发现浏览器以 960 x 540 呈现,并且在 4K 下看起来很棒的页面看起来像块状的难以辨认的垃圾。


1
投票

这就是我在 Android TV 28 中所做的 我的应用程序原始分辨率是 1080p

JS代码:

document.body.style.zoom = 1/window.devicePixelRatio

0
投票

您可以使用 WebView#setInitialScale 根据您的需要缩放网站。要获得想要的比例,您可以使用代码:

Point metrics = new Point();
((WindowManager) context.getSystemService(WIDNOW_SERVICE)).getDisplay(metrics);
int scale = (int) (((double) metrics.x) / 3840/*SCREEN_WIDTH*/ * 100);

您不应该设置其他设置,如 setUseWideViewPort,因为它可以覆盖/忽略比例设置。


0
投票

毕竟,有人设法使用 960 x 540 以外的分辨率工作? 拥有这么小分辨率的 60 英寸电视真是太奇怪了。

© www.soinside.com 2019 - 2024. All rights reserved.