0

我读到 Flex 不支持 320 以上的屏幕 dpi 分辨率,但根据本文,应该可以创建自定义实现。因此,出于测试目的,我在apache flex 4.10中添加了这两行

applicationDPI="320"
runtimeDPIProvider="DPITestClass"

并创建了包含这个的 DPITestClass

override public function get runtimeDPI() : Number
{
    return 3200;
}

据我了解,这应该将每个设备上的所有像素参数缩放 10 倍,但它完全没有任何作用。它仍然根据设备 dpi 缩放像素 - 就像未设置 runtimeDPIProvider 一样(除非我在我的主类中记录runtimeDPI它显示为“3200”)。

那是因为通常仍然不支持更高的 dpi,并且此扩展在 flex 框架内的某个地方被阻止,还是我做错了什么?

4

1 回答 1

1

您可以覆盖 runtimeDPI 方法以在 DPIClassification 常量上返回一个,该常量表示 dpi 范围(例如 DPI_160、DPI_240 或 DPI_360)。它通常用于纠正报告错误运行时 dpi 的设备。

Flex 确实支持高于 320 dpi。在使用 Apache Flex 4.9 及更低版本时,它只是将应用程序放入 320 dpi 存储桶中。Apache Flex 4.10 添加了对 480 dpi 存储桶的支持,Apache Flex 4.11 将添加对 120 和 640 dpi 存储桶的支持。每个 dpi 存储桶都针对 dpi 范围进行了优化,但如果它具有不同或更高的 dpi,则应用程序不会停止工作。

于 2013-09-23T05:26:03.973 回答