在 4k 屏幕上的 WebView 中显示的内容似乎分辨率很低

Posted

技术标签:

【中文标题】在 4k 屏幕上的 WebView 中显示的内容似乎分辨率很低【英文标题】:Content displayed in a WebView on 4k screen seems to be very low resoultion 【发布时间】:2017-04-19 18:39:42 【问题描述】:

我在android TV 上显示WebView 中的网站。该设备是 4k,但 Android 在 1080p 中运行(这没关系)但 WebView 似乎在 half-HD 540x960 中呈现(由 javascript window.screen.availHeight 报告) -图像和字体看起来很模糊。

这似乎与设备metrics.density = 2 的密度设置相匹配。有没有办法在应用程序或 WebView 本身中强制进行全分辨率渲染?

【问题讨论】:

对此有任何修复吗?我有一个 1080p 的应用程序,具有固定的 UI,我不想更改我的 UI 以适应 960x540。有没有办法在 Android TV WebView 中允许 720p 或 1080p? 【参考方案1】:

基于此documentation,该平台现在允许应用请求仅针对兼容硬件将显示分辨率升级到 4K。

要查询当前物理分辨率,需要使用Display.Mode API。如果 UI 以较低的逻辑分辨率绘制并放大到较大的物理分辨率,请注意getPhysicalWidth() 方法返回的物理分辨率可能与getSize() 报告的逻辑分辨率不同。

因此,您需要做的是通过设置应用窗口的preferredDisplayModeId 属性来更改物理分辨率。

【讨论】:

在旧的 api 级别上有什么可以做的吗? YouTube 和 Google Cast 似乎使用 4k。

以上是关于在 4k 屏幕上的 WebView 中显示的内容似乎分辨率很低的主要内容,如果未能解决你的问题,请参考以下文章

linux (wayland) 上的 SoapUI - 高 DPI/4K 缩放问题

屏幕锁定时会停止WebView媒体内容(调用活动的onStop)

布局元素在 4K 屏幕 Android TV 上看起来很模糊

CSS Id 选择器阻止所有内容在 Android 10 上的 Xamarin.Forms WebView 中显示

Flutter webview 不显示我网站上的内容

WebView 不显示内容