我遇到了一个让我发疯的问题。显然按钮标签在 flex 中不能适当地缩放,或者我只是没有正确地处理它。下面是一个简单的可运行测试用例。
问题:
在测试用例中,您可以看到按钮标签在多个不同的窗口大小处被截断,但有时它会“弹出”到一个新的字体级别,看起来是否正确?为什么是这样?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.events.ResizeEvent;
public var minScale:Number = 0.5;
public var baseWidth:Number = 1000;
public var baseHeight:Number = 800;
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth,unscaledHeight);
if(width < baseWidth || height < baseHeight) {
var sx:Number = Math.max(minScale, width / baseWidth);
var sy:Number = Math.max(minScale, height / baseHeight);
var s:Number = Math.min( sx, sy );
getChildAt(0).scaleX = s;
getChildAt(0).scaleY = s;
}
else{
getChildAt(0).scaleX = 1;
getChildAt(0).scaleY = 1;
}
}
]]>
</mx:Script>
<mx:Canvas>
<mx:Button label="WWWWWWW" fontSize="12"/>
</mx:Canvas>
</mx:Application>
谢谢。