你知道这个奇怪的事吗? “AS3,按钮宽度不能通过setStyle()改变。但是,内联CSS可以改变宽度。”

时间:2013-12-23 05:23:20

标签: css actionscript-3 flex flex4 flex-spark

我正在制作像WEBapp一样的GraphPaper并注意。


<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
  xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark"
  xmlns:mx="library://ns.adobe.com/flex/mx">
    <mx:Button width="500" height="500" />
</s:Application>

可以制作大方形按钮。

但是


<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Style>
        @namespace mx "library://ns.adobe.com/flex/mx";
            mx|Button {
                width: 500;
            }
    </fx:Style>
    <mx:Button />
</s:Application>

这不起作用


<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Style>
        @namespace mx "library://ns.adobe.com/flex/mx";
            mx|Button {
                fontSize: 500;
                width: 500;
            }
    </fx:Style>
    <mx:Button label="test" />
</s:Application>

可以扩展按钮宽度',类似于文字宽度'。

因此我预测Button的宽度可以由fontSize或icon定义。 按钮本身的宽度不能在外部改变。 但内联CSS只能不规则地改变Button的宽度。

我认为这是Adobe的错误。你怎么看待这个问题,你对这个问题有所了解吗?

1 个答案:

答案 0 :(得分:0)

我可能会更正,但我相信内联CSS会在StyleManager上运行,以使用SkinClass接口将操作传递给ISimpleStyleClient。 IE使用.getStyle().setStyle()函数。高度和宽度不属于StyleManagerDisplayObject的{​​{1}}。

MXML允许您内联调用类属性和外观/样式属性,但CSS不是