(Flex) - Adob​​e AIR - 带有 em 的字体大小?用百分比?

(Flex) - Adobe AIR - font-size with em? With percentage?

我正在尝试根据 CSS 的屏幕大小调整我的 Adob​​e AIR 应用程序字体的大小。 em 似乎不是有效的 CSS 值,而且 %.

font-size:8%;   // Not a valid value
font-size:8em;  // Not a valid value

我可以使用哪些 CSS 值来设置动态 font-size(使用 AIR 24)?

请注意,我不想使用@mediaCSS查询。

在Flash/AIR中,CSS的解析有点不同,只有数字可用:

fontSize - Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent.

参见:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StyleSheet

Flash/AIR 也有不同的 CSS 媒体查询。如果你最终走这条路,你可能想要使用类似 application-dpi:

@media (application-dpi: 160) { 
    .someStyle {
        font-size: 12px;
    }

@media (application-dpi: 240) { 
    .someStyle {
        font-size: 14px;
    }

参见:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf62883-7ff2.html#WS19f279b149e7481c4a89460c12d804a111e-8000

您或许也可以尝试通过代码修改样式:

var tf:TextFormat = new TextFormat(); 
if(someScreenSizeVariable < 640) {
    tf.size = 10;
} else {
    tf.size = 13;
}
StyleManager.setStyle("textFormat", tf);

参见:http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f5b.html#WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f3b