zoukankan      html  css  js  c++  java
  • Displaying icons in a Flex List control

    The following example demonstrates how to use embedded images in a List control so that each item in the list displays a little icon based on a certain property in the data provider. You’ll also notice that we set the textIndent style to give the label a bit more padding from the icon. Finally, we create three non-interactive Button controls beneath the list as a sort of “legend” for the icons
    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2007/08/17/displaying-icons-in-a-flex-list-control/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout
    ="vertical"
            verticalAlign
    ="middle"
            backgroundColor
    ="white">

        
    <mx:Script>
            
    <![CDATA[
                [Bindable]
                [Embed(source="assets/bulletCheck.png")]
                public var BulletCheck:Class;

                [Bindable]
                [Embed(source="assets/bulletWarning.png")]
                public var BulletWarning:Class;

                [Bindable]
                [Embed(source="assets/bulletCritical.png")]
                public var BulletCritical:Class;
            
    ]]>
        
    </mx:Script>

        
    <mx:List id="list"
                labelField
    ="label"
                iconField
    ="icon"
                rowCount
    ="4"
                width
    ="200"
                themeColor
    ="haloSilver"
                textIndent
    ="5">
            
    <mx:dataProvider>
                
    <mx:Array>
                    
    <mx:Object label="Item 1" icon="BulletWarning" />
                    
    <mx:Object label="Item 2" icon="BulletCritical" />
                    
    <mx:Object label="Item 3" icon="BulletCritical" />
                    
    <mx:Object label="Item 4" icon="BulletCheck" />
                    
    <mx:Object label="Item 5" icon="BulletWarning" />
                    
    <mx:Object label="Item 6" icon="BulletCheck" />
                    
    <mx:Object label="Item 7" icon="BulletCheck" />
                    
    <mx:Object label="Item 8" icon="BulletCritical" />
                
    </mx:Array>
            
    </mx:dataProvider>
        
    </mx:List>

        
    <mx:HBox>
            
    <mx:Button label="Success"
                    icon
    ="{BulletCheck}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />

            
    <mx:Button label="Warning"
                    icon
    ="{BulletWarning}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />

            
    <mx:Button label="Critical"
                    icon
    ="{BulletCritical}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />
        
    </mx:HBox>

    </mx:Application>


    You can also add icons to a List control using the iconFunction property, as seen in the following example. Note that the list’s data provider doesn’t contain a column with the name of the specific icon to use, the icon is being determined by a user-defined function which calculates the icon from the “data” property in data provider.

    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2007/08/17/displaying-icons-in-a-flex-list-control/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout
    ="vertical"
            verticalAlign
    ="middle"
            backgroundColor
    ="white">

        
    <mx:Script>
            
    <![CDATA[
                [Bindable]
                [Embed(source="assets/bulletCheck.png")]
                public var BulletCheck:Class;

                [Bindable]
                [Embed(source="assets/bulletWarning.png")]
                public var BulletWarning:Class;

                [Bindable]
                [Embed(source="assets/bulletCritical.png")]
                public var BulletCritical:Class;

                private function list_iconFunc(item:Object):Class {
                    var iconClass:Class;

                    if (item.data >= 8) {
                        iconClass = BulletCheck;
                    } else if (item.data >= 5) {
                        iconClass = BulletWarning;
                    } else {
                        iconClass = BulletCritical;
                    }

                    return iconClass;
                }
            
    ]]>
        
    </mx:Script>

        
    <mx:List id="list"
                labelField
    ="label"
                iconFunction
    ="list_iconFunc"
                rowCount
    ="4"
                width
    ="200"
                themeColor
    ="haloSilver"
                textIndent
    ="5">
            
    <mx:dataProvider>
                
    <mx:Array>
                    
    <mx:Object label="Item 1" data="7" />
                    
    <mx:Object label="Item 2" data="3" />
                    
    <mx:Object label="Item 3" data="1" />
                    
    <mx:Object label="Item 4" data="8" />
                    
    <mx:Object label="Item 5" data="5" />
                    
    <mx:Object label="Item 6" data="8" />
                    
    <mx:Object label="Item 7" data="9" />
                    
    <mx:Object label="Item 8" data="2" />
                
    </mx:Array>
            
    </mx:dataProvider>
        
    </mx:List>

        
    <mx:HBox>
            
    <mx:Button label="Success"
                    icon
    ="{BulletCheck}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />

            
    <mx:Button label="Warning"
                    icon
    ="{BulletWarning}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />

            
    <mx:Button label="Critical"
                    icon
    ="{BulletCritical}"
                    mouseEnabled
    ="false"
                    skin
    ="{null}" />
        
    </mx:HBox>

    </mx:Application>
  • 相关阅读:
    WebApp触屏版网站开发要点
    Web前端开发规范手册
    Web页面切图和CSS注意事项
    javascript中的一些基本方法收藏
    浅谈浏览器兼容性问题
    html 5 标签分类
    前端meta知多少
    浏览器内核信息整理
    Javascript中的undefined、null、""、0值和false的区别总结
    JQUERY中的AJAX应用
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1035784.html
Copyright © 2011-2022 走看看