在 Flex 4 面板的标题栏右侧添加图像

Posted

技术标签:

【中文标题】在 Flex 4 面板的标题栏右侧添加图像【英文标题】:Adding an image on the right side of the title bar of a panel in Flex 4 【发布时间】:2011-04-25 09:05:30 【问题描述】:

我正在尝试基于 spark Panel 创建一个 MXML 组件,我想在标题栏的右端添加一个图像,以便面板在标题栏上有一个文本和一个小图像在右端。我正在使用皮肤来定义颜色、背景填充等。但是如何在标题栏的右端添加此图像? 我想让该图像可自定义,以便在插入组件时,使用默认图像或提供新图像。

请帮助你的想法。

【问题讨论】:

【参考方案1】:

将图像组件添加到您的皮肤并给它一个 id,同时设置您要显示的默认图像。然后创建一个扩展 Panel 的 ActionScript 组件。在您的自定义面板代码中,使用与您放入皮肤中的 id 相同的名称声明皮肤部件。现在覆盖自定义面板中的 partAdded 函数并将图像设置为您喜欢的任何内容:

package mypackage

    import spark.components.Panel;
    import spark.primitives.BitmapImage;

    public class MyCustomPanel extends Panel
    

        [SkinPart (required="false")]
        public var panelIcon:BitmapImage;

        override protected function partAdded(partName:String, instance:Object):void 
            super.partAdded(partName, instance);

            if (instance == panelIcon) 
                panelIcon.source = someOtherImageSource;
            
        
    

最后,将您的皮肤文件与您的自定义面板相关联,可以在 CSS 中,也可以在使用自定义面板时设置 skinClass。

【讨论】:

【参考方案2】:

您始终可以使用 TitleWindow,并将关闭按钮重新用于除关闭之外的其他操作。这里有一个为 TitleWindow 和 TitleWindowClosebutton 设置皮肤的好例子:http://blog.flexexamples.com/2010/04/04/changing-the-close-button-skin-on-the-spark-titlewindow-container-in-flex-4/

【讨论】:

以上是关于在 Flex 4 面板的标题栏右侧添加图像的主要内容,如果未能解决你的问题,请参考以下文章

如何将控制栏添加到标题栏正下方的 Flex Spark 面板组件

Flex 4 Spark 组件面板 - 隐藏标题栏

如何在操作栏的右侧添加图像视图?

两栏布局——左侧固定右侧自适应

如何将 UIImageView 添加到导航栏的右侧?

在导航栏中添加彩色图像作为右栏按钮项