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 http://www.adobe.com/products/flex/. To download the latest nightly build of the Flex 4 SDK, see http://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.

 
Tagged with:
 
About The Author

Peter deHaan

Peter deHaan currently works for Adobe on the Flex SDK QA team. While not working on Flex, Flash, and ColdFusion applications, Peter enjoys making up bios and writing in 3rd person. Peter's rarely updated blog can be found at blogs.adobe.com/pdehaan/, actionscriptexamples.com, airexamples.com, and coldfusionexamples.com.

8 Responses to Using the Halo theme in Flex 4

  1. Ansury says:

    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. Carlos says:

    We need an elegeant black theme ASAP. I don’t like the SPARK one >.<

    Cheers

  3. 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.

  4. ilikeflex says:

    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???

  5. ilikeflex says:

    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???

  6. tom says:

    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!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Anti-Spam Protection by WP-SpamFree