apache-flex - 如何在运行时更改 Flex 3.5 应用程序的应用程序背景颜色?

标签 apache-flex actionscript-3 flex3

我有一个可用于多种用途的 Flex 3.5 应用程序,作为我想进行的视觉更改的一部分以指示应用程序所处的模式,我想更改其背景颜色。

目前,应用程序标签如下所示:

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:com="ventures.view.component.*"
    xmlns:views="ventures.view.*"
    layout="absolute"
    preinitialize="onPreInitialize()"
    creationComplete="onCreationComplete()"
    applicationComplete="onApplicationComplete()"
    click="onClick(event)"
    enabled="{(!chainController.generalLocked)}"
    backgroundGradientColors="[0xFFFFFF, 0xFFFFFF]"
>

我试过对 backgroundColor 都使用绑定(bind)和 backgroundGradientColors属性:

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    ...
    backgroundColor="{app_background_color}"
>

—和—

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    ...
    backgroundGradientColors="{app_background_color}"
>

但是对于前者绑定(bind)是不允许的,对于后者有警告说:

Data binding will not be able to detect assignments to "app_background_color".

我也遇到了 this page这似乎表明我可以用 setStyle() 做到这一点方法,但是 the documentation似乎表明此方法仅适用于组件,不适用于主 Canvas 。

我想我可以将所有内容包装在 <mx:Canvas></mx:Canvas> 中专门用于此目的,但这看起来很浪费——就像 HTML 中的 Div-itis 之类的。

在运行时更改主应用程序背景颜色的最佳方法是什么?

最佳答案

StyleManager.getStyleDeclaration("Application").setStyle('backgroundColor', 'Red');

关于apache-flex - 如何在运行时更改 Flex 3.5 应用程序的应用程序背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2677787/

相关文章:

java - BlazeDS和Flash Builder,继承生成问题

javascript - 将 Base64 字符串从 AS3 返回到 Javascript。这是一个错误还是功能(或者我错了?)

actionscript-3 - as3 |如何使用 Adob​​e AIR 导出 PNG

flash - 当 loaderInfo.bytesTotal 为零时怎么办

apache-flex - Actionscript 或 Flex 库哪个是正确的术语?

apache-flex - 是否有任何命令可以从命令行暂停、停止和关闭 vlc 播放器?

apache-flex - 如何在运行时强制重绘 Flex 图表

actionscript-3 - Adobe Air - 更新不兼容错误

apache-flex - 如何在 ActionScript 中获取实例的 "memory location"?

css - 如何为以编程方式绘制的 TextField 使用预定义的 CSS 样式?