21
Jul
07

Setting an icon in a Button control

There are two general methods for embedding an icon into a Button control. The first method involves creating a variable in the Flex application, and using the [Bindable] and [Embed] meta data. You specify the path to the icon in the source parameter of the Embed meta data and then to use the icon in a Button, you use data binding, which in this case would look like icon="{Icon}". The second method, embeds the icon inline in the Button tag itself, by using @Embed() and specifying the path to the image file as a parameter. See the full code after the jump.

Download source (ZIP, 2K) | View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/07/21/setting-an-icon-in-a-button-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        backgroundColor="white">                            

    <mx:Script>
        <![CDATA[
            [Bindable]
            [Embed(source="assets/bug.png")]
            private var Icon:Class;
        ]]>
    </mx:Script>                            

    <mx:Button label="[Embed(source='assets/bug.png')]"
            icon="{Icon}" />
    <mx:Button label="@Embed('assets/bug.png')"
            icon="@Embed('assets/bug.png')" />                            

</mx:Application>

View source enabled in the following example.


4 Responses to “Setting an icon in a Button control”


  1. 1 Vit May 21st, 2008 at 6:42 am

    I guess is it possible to set button’s icon on the fly by actionscript? without having embed icon class defined?

    can’t find the right way for this (

  2. 2 peterd May 21st, 2008 at 7:11 am

    Vit,

    Check out Ben Stucki’s IconUtility component, “IconUtility Component for Dynamic Run-Time Icons”.

    Peter

  3. 3 Lead Bi Mar 6th, 2009 at 11:41 am

    Thanks for sharing this example on embedding image inside of a button.

    I was wondering if there is a quick way (or not so quick — but a way) of scaling down the source image.

    Thanks
    Lead

  4. 4 Cássio F. Oliveira Apr 24th, 2009 at 2:07 am

    The image fits inside the button… So everything you’ve gotta do is to set the button’s height or width.

Leave a Reply

This blog is terrible at eating HTML tags. If you plan on posting code/XML, please escape your "<" characters as "&lt;" and your ">" characters as "&gt;".




July 2007
M T W T F S S
    Aug »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Badge Farm

  • Powered by Redoable 1.2
  • Cornify
  • Feeds burnt by Feedburner
  • Feed