Automatic Disabled Icon with Flex Button Control
Sunday, July 29th, 2007The Flex Button control provides the means to add an icon to the button, in one of several states disabled/hover etc. However it does not automatically provide a disabled version of the icon you add for its normal enabled state. i.e. A “grayed out” version, which most other visual RAD tools would provided.
After hacking around in the Flex SDK, I found the following code which accomplishes this;
// Fade Disabled Icon DisplayObject(this.getChildByName("disabledIcon")).alpha = 0.4;
This could be used as follows to produce an EditButton class;
<?xml version="1.0" encoding="utf-8"?> <mx:Button xmlns:mx="http://www.adobe.com/2006/mxml" icon="@Embed('EditButton.png')" label="Edit" creationComplete="init();" > <mx:Metadata> [IconFile("EditButton.png")] </mx:Metadata> <mx:Script> <![CDATA[ private function init():void { // Fade Disabled Icon DisplayObject(this.getChildByName("disabledIcon")).alpha = 0.4; } ]]> </mx:Script> </mx:Button>
As I believe this to be a very valuable behavior, I have created a new IconButton Flex Component class to download, which provides a Button control which does automatically provided a disabled version of its main icon.
