使用皮肤


        SuperMap iClient 8C for Flash 产品为您提供的控件均可通过各控件的属性来更改外观,也可自定义皮肤类来更改,有关皮肤的定义请参见《自定义皮肤》。下面的示例以 zoomSlider 控件为例,为您提供如何使用皮肤类来改变组件的观外:

  1. 首先假设已定义好的皮肤类的名称为 zoomSliderSkin.mxml;然后您需新建一个 CSS 文件(本示例命名为 default.css),在其中引入 zoomSlider 控件所在的命名空间(如红色代码部分);最后添加紫色代码部分即可定义与 zoomSlider 控件绑定的皮肤类。其中skinClass: ClassReference("skin.ZoomSliderSkin")的括号内部分为您存放皮肤类的路径,这里仅作参考。

    CSS 拷贝代码
    /* CSS file */
    @namespace s "library://ns.adobe.com/flex/spark";
    @namespace mx "library://ns.adobe.com/flex/mx";
    @namespace ic "http://www.supermap.com/iclient/2010";
    ic|ZoomSlider
    {      
            skinClass: ClassReference("skin.ZoomSliderSkin");    
    }
    
  2. 完成第一步后您在mxml 文件中添加以下代码即可为 zoomSlider 控件定制您自定义的皮肤:

    MXML 拷贝代码
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"                       
                   xmlns:s="library://ns.adobe.com/flex/spark"                       
                   xmlns:mx="library://ns.adobe.com/flex/mx"                          
                   xmlns:ic="http://www.supermap.com/iclient/2010"                      
                   xmlns:isj2="http://www.supermap.com/iserverjava/2010"                       
                   width="100%" height="100%">
        <!--定义样式:source 属性为 CSS 文件的存放路径-->    
        <fx:Style source="skin/default.css"/>    
        <!--添加地图-->   
        <!--scales:您的地图比例尺;url:您的 Web 服务地址;url:您的地图服务地址;-->   
        <ic:Map id="map" x="0" y="0" height="100%" width="100%"          
                scales="{[1.25e-9, 2.5e-9, 5e-9, 1e-8, 2e-8, 4e-8, 8e-8, 1.6e-7, 3.205e-7, 6.4e-7]}">          
            <is:TiledDynamicRESTLayer url="http://192.168.11.11:8090/iserver/services//maps/rest/maps/World Map"/>  
        </ic:Map>
        <!--缩放条控件-->  
        <ic:ZoomSlider map="{this.map}"/>
    </s:Application>
    

        在无需 CSS 文件的情况下还可通过以下方法使用皮肤类定义控件的外观:

        以上两种方法的主要区别在于在不同的文件下定义 ZoomSlider 的 skinClass 属性。第一种方法是在 CSS 文件中定义,然后在 MXML 文件中调用 CSS 文件;第二种方法是直接在 MXML 文件中设置控件的 skinClass 属性。采用第一种方法的好处在于,多个 MXML 文件均可调用同一个CSS 文件,使用相同的控件外观;采用第二种方法的好处在于可以很方便很直接的定义控件的外观。

注意:以上功能得以实现的最基本最重要的条件是您已确保在自己的工程中加入 SuperMap iClient 8C for Flash 产品的库文件,关于库文件的加载请参见《快速入门》


版权所有© 2000-2015 北京超图软件股份有限公司 保留所有权利。