Using the Halo theme in Flex 4

The following example shows how you can set the Halo controls to use the old Halo skins instead of the new Spark skins in Flex 4 by setting the -theme compiler option to the Halo theme (halo.swc).

Full code after the jump.

The following example(s) require Flash Player 10 and the Adobe Flex 4 SDK. To download the Adobe Flash Builder 4 trial, see www.adobe.com/products/flex/. To download the latest nightly build of the Flex 4 SDK, see opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.

For more information on getting started with Flex 4 and Flash Builder 4, see the official Adobe Flex Team blog.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2009/07/14/using-the-halo-theme-in-flex-4/ -->
<s:Application name="Spark_Halo_theme_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo">
 
    <s:VGroup horizontalCenter="0" verticalCenter="0" >
        <s:Button id="sBtn"
                label="I'm a Spark Button" />
 
        <mx:Button id="hBtn"
                label="I'm a Halo Button" />
    </s:VGroup>
 
</s:Application>

Finally, you need to change your Flex compiler arguments to use the halo.swc theme:
1) In Flash Builder 4, select Project > Properties from the main menu.
2) Select Flex Compiler from the left menu.
3) In the Additional compiler arguments text field, add the following argument:

-theme=${flexlib}/themes/Halo/halo.swc

4) Click the OK button to apply the changes and close the dialog box.
5) Recompile and run the application.

This entry is based on a beta version of the Flex 4 SDK and therefore is very likely to change as development of the Flex SDK continues. The API can (and will) change causing examples to possibly not compile in newer versions of the Flex 4 SDK.

8 thoughts on “Using the Halo theme in Flex 4

  1. This is good but I hope Adobe doesn’t think they’re going to get away with letting design mode continue to render the crummy Spark UI when the compiler uses Halo…

    I understand why they created Spark but the ‘default’ look it gives you looks like a huge step BACK.

  2. Thanks for the info. I switched back to Halo. I did however find that there was a troublesome warning message when compiling with the Halo theme. “Warning:
    The style ‘dropShadowVisible’ is only supported by type
    ‘mx.controls.List’ with the theme(s) ‘spark’.”

    I fixed it by just editing the ‘defaults.css’ file in frameworks/libs/framework.swc and removing the dropShadowVisible line. Here’s my post on the topic.

  3. I am using the spark components and the halo theme.

    When i write the following code

    One
    Two
    Three
    Four
    Five

    I get the error – alternatingItemColors is only supported for spark theme.

    How do i set the alternatingItemColors for halo theme???

  4. I am using the spark components and the halo theme.

    When i use the alternatingItemColors with the spark Combobox, I get the error – alternatingItemColors is only supported for spark theme.

    How do i set the alternatingItemColors for halo theme???

  5. Thank you very much for the solution. I’ve been trying to get Spark look any better that originally:) Halo theme is the good one in fact!

Comments are closed.