【问题标题】:mx:Application in Flex 4 Gumbo (beta 2) has padding around the border, I do not want any paddingmx:Flex 4 Gumbo(beta 2)中的应用程序在边框周围有填充,我不想要任何填充
【发布时间】:2025-12-27 09:25:11
【问题描述】:

当我在 Flex 4 beta 2 (Flash Builder) 中创建一个新的 Flex 应用程序时,它会在这个粗宽度示例中围绕面板的外部创建一个边框。它在底部和左右但不是顶部放置一个带阴影的边框。请不要有国界。

必须使用 mx:Application,因为一些较旧的 Flex 3 库需要它,不能使用 spark。

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768">

【问题讨论】:

    标签: apache-flex actionscript-3


    【解决方案1】:

    mx.core.Application 与新的spark.components.Application 在一些方面有所不同。似乎mx.core.Application 具有用于 24 填充的继承样式。应用程序的inheritingStyles 的快速mx.utils.ObjectUtil.toString() 显示了这一点。 Spark 应用程序没有填充。

    如果将 padding(left|right|top|bottom) 设置为 0,则解决第一部分。

    PanelSkin 还应用了 DropShadow。这不包括在填充计算中,因此如果您只是复制粘贴 PanelSkin 并删除阴影部分,则将得到修复。

    这是应用程序的代码...

    
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo"
        paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0"
        creationComplete="{create()}">
        <fx:Script>
            <![CDATA[
                import mx.utils.ObjectUtil;
                public function create():void
                {
                    var styles:Object = this.inheritingStyles;
                    trace(ObjectUtil.toString(styles)); 
                }
            ]]>
        </fx:Script>
        <mx:Panel width="100%" height="100%" includeInLayout="true">
            <mx:Label text="test"/>
        </mx:Panel>
    </mx:Application>
    

    希望对您有所帮助。祝你好运。

    【讨论】: