GUI开发人员如何处理可变像素密度?

Mar*_*oma 6 user-interface pixel screen-resolution

今天的显示器具有相当大的尺寸和分辨率范围.例如,我的34.5cm×19.5cm显示器(产生39.6cm或15.6"的对角线)具有1366×768像素,而具有15"对角线的MacBook Pro(第3代)具有2880×1800像素.

有很多人抱怨说这些高分辨率显示器的一切都太小了(见).当开发人员使用像素来定义GUI时,这很容易解释.对于"传统显示器",这不是一个大问题,因为在大多数显示器上像素可能具有大致相同的尺寸.但在具有更高像素密度的新显示器上,像素更小.

那么用户界面开发人员如何处理这个问题呢?是否有可能获得屏幕的物理尺寸?是否可以设置物理尺寸而不是基于像素的尺寸?这仍然是一个问题(自从我上次读到它以来已经有一段时间了)或者同时修复了吗?

(虽然css似乎支持cm,但是当我在这里尝试时,它不是设置的大小).

Mar*_*een 2

用户界面开发人员应该如何/应该处理这个问题?

使用支持解析独立性的工具包或框架。WPF是从头开始构建的,与分辨率无关,但即使是像Windows 窗体这样的旧框架也可以学习新技巧。 OSX/iOSWindows(或者浏览器,如果我们谈论的是 Web)本身可能会尝试通过自动缩放来解决问题,但如果涉及位图图形,开发人员可能需要提供不同的位图,例如 Android 中的位图(面临最不同的情况)与其他操作系统相比的分辨率和密度)

是否可以获得屏幕的物理尺寸?

,开发人员不应该关心它。开发人员应该只关心设备的类别(例如,平板电脑和智能手机的不同 UI),也许还需要关心 DPI 来决定使用哪个位图资源。矢量资源和字体应由框架缩放。

这仍然是一个问题(自从我上次读到它以来已经有一段时间了)还是同时解决了?

取决于您上次阅读它的时间。即使对于内部应用程序本身来说,Windows 支持仍然不稳定,虽然使用 WPF 或UWP进行开发的任何人都可以轻松实现,但不要指望主要的第三方应用程序很快就会加入。OSX显示缩放似乎工作得更好一些,而现代移动操作系统要么在有限的分辨率范围内运行(iOS 和 Windows Phone),要么很好地处理所有可以想象的分辨率(Android