一直以来觉得renderer很强大,今天终于有时间把renderer好好地整理了一下。
renderer渲染可以使加载的featureLayer的元素以不同的symbol呈现。
1,首先必须说的是render是不能为空的,他的下面必须有相对应的子render
先看看render下面有ClassBreaksRenderer的情况,这个render可以设定一个属性,根据属性的值给出不同的symbol如:
<esri:FeatureLayer id="hurricaneFeatureLayer"
load="hurricaneFeatureLayer_loadHandler(event)"
mode="snapshot"
outFields="[EVENTID,WINDSPEED]"
trackIdField="EVENTID"
url="http://servicesbeta.esri.com/ArcGIS/rest/services/Hurricanes/Hurricanes/MapServer/0">
<esri:renderer>
<esri:ClassBreaksRenderer attribute="WINDSPEED" defaultLabel="defaultLabel">
<esri:ClassBreakInfo maxValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="5"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="8"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-8"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="40" minValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="red"
size="15"/>
</esri:ClassBreakInfo>
</esri:ClassBreaksRenderer>
效果图如下:
2,SimpleRenderer是一个很简单的renderer,这个renderer只能用一种symbol
<esri:renderer>
<esri:SimpleRenderer>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="5"/>
</esri:SimpleRenderer>
效果图如下:
3,TemporalRenderer是用于时间轴图层的渲染。
<esri:FeatureLayer id="hurricaneFeatureLayer"
load="hurricaneFeatureLayer_loadHandler(event)"
mode="snapshot"
outFields="[EVENTID,WINDSPEED]"
trackIdField="EVENTID"
url="http://servicesbeta.esri.com/ArcGIS/rest/services/Hurricanes/Hurricanes/MapServer/0">
<esri:renderer>
<esri:TemporalRenderer>
<esri:trackRenderer>
<esri:SimpleRenderer>
<esri:SimpleLineSymbol style="dash"/>
</esri:SimpleRenderer>
</esri:trackRenderer>
<esri:latestObservationRenderer>
<esri:ClassBreaksRenderer attribute="WINDSPEED">
<esri:ClassBreakInfo maxValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="5"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="8"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-8"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="40" minValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="15"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="13"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-13"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="60" minValue="40">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="red"
size="25"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="18"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-18"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="80" minValue="60">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="35"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="23"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-23"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="100" minValue="80">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="45"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="28"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-28"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo minValue="100">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="55"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="33"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-33"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
</esri:ClassBreaksRenderer>
</esri:latestObservationRenderer>
<esri:observationRenderer>
<esri:ClassBreaksRenderer attribute="WINDSPEED">
<esri:ClassBreakInfo maxValue="20">
<esri:SimpleMarkerSymbol color="white" size="5"/>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="40" minValue="20">
<esri:SimpleMarkerSymbol color="white" size="15"/>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="60" minValue="40">
<esri:SimpleMarkerSymbol color="white" size="25"/>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="80" minValue="60">
<esri:SimpleMarkerSymbol color="white" size="35"/>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="100" minValue="80">
<esri:SimpleMarkerSymbol color="white" size="45"/>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo minValue="100">
<esri:SimpleMarkerSymbol color="white" size="55"/>
</esri:ClassBreakInfo>
</esri:ClassBreaksRenderer>
</esri:observationRenderer>
<esri:observationAger>
<esri:TimeRampAger>
<esri:alphaRange>
<esri:AlphaRange fromAlpha="0.1" toAlpha="0.4"/>
</esri:alphaRange>
</esri:TimeRampAger>
</esri:observationAger>
</esri:TemporalRenderer>
</esri:renderer>
</esri:FeatureLayer>
- 大小: 373 KB
- 大小: 168.4 KB
- 大小: 252.7 KB
分享到:
相关推荐
在IT行业中,尤其是在Web开发领域,Flex是一种广泛使用的ActionScript框架,它允许开发者构建富互联网应用程序(RIA)。本文将深入探讨如何在Flex中的DataGrid组件中实现复选框的全选与取消全选功能,这对于数据操作...
3. **处理复选框的事件**:为了响应用户的点击事件,我们需要在自定义Renderer中添加事件监听器,通常会监听CheckBox的`change`事件,然后根据需要更新数据源。 4. **双向绑定**:为了确保Datagrid的数据源和复选框...
在实际开发中,使用Flex DataGrid添加RadioButton不仅提高了用户体验,还能简化数据处理,尤其是在处理大量可选记录时。同时,这种做法也体现了Flex的灵活性,即通过自定义组件和渲染器来满足各种界面需求。了解并...
图标是TreeItemRenderer的一部分,我们可以通过覆盖默认的renderer类或使用itemRenderers属性来自定义渲染器。 1. **覆盖默认渲染器**:在Flex中,我们可以创建一个新的MXML或ActionScript类,该类继承自默认的...
对于行中的checkbox,你可以在数据源中定义对应的字段,Flex会自动使用默认的`CheckBoxItemRenderer`。 总结起来,实现Flex Datagrid checkbox全选功能主要涉及自定义数据列、表头渲染器和行渲染器,通过事件监听和...
Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者可以实现高度个性化的数据展示效果。 #### 二、Flex_itemRenderer ...
本文档主要介绍了在Flex中使用条目渲染器(Item Renderer)来定制化列表显示的方法。 #### 二、基础知识概述 **条目渲染器(Item Renderer)**是一种用于控制列表中每一项如何被呈现出来的组件。它允许开发者自定义每个...
- 定义事件名称和类型:首先在自定义组件中使用元数据标签`[Event]`定义事件的名称和类型。 - 实例化事件对象:接着创建该事件类型的实例。 - 派发事件:使用`dispatchEvent`方法将事件发送出去。 - 处理事件:...
3. **呈现器(Renderer)**:了解如何编写自定义的呈现器类,以改变组件中各个元素的显示方式。 4. **数据绑定**:利用Flex的数据绑定机制将数据模型与界面元素关联,实现动态更新。 5. **事件处理**:学习如何...
总结,改变Flex DataGrid中某一行的背景颜色通常涉及自定义ItemRenderer、使用CSS样式或者监听事件。选择哪种方法取决于具体需求,如是否需要复杂逻辑、性能要求以及代码可维护性等因素。通过这些技术,我们可以使...
在这个文件中,我们需要继承自`MX:Canvas`或`Spark:Label`(取决于你使用的Flex版本,MX是Flex 3.x时代的组件,Spark是Flex 4.x及以后版本的组件)。 ```mxml <!-- 如果使用Spark组件 --> <![CDATA[ override ...
最后,`ChartTest.mxml`是测试应用程序,用于展示如何在实际场景中使用这些自定义组件和方法。它可能包含了创建图表、添加数据、指定渲染器等操作,通过运行这个文件,开发者可以直观地看到虚线效果在不同情况下的...
为了在项目中使用这个自定义皮肤,我们需要将其应用到List组件上。在Flex MXML中,可以这样设置: ```mxml <!-- 数据提供者和其他属性 --> ``` 这就是关于“AS3写Flex皮肤问题代码”的详细解释。通过自定义Flex...
4. **布局与渲染**:在Flex中,布局管理器如BoxLayout、GridLayout等,用于控制组件的排列和大小。在打印预览中,需要考虑到不同的页面尺寸和方向,可能需要自定义布局以适应打印需求。 5. **打印事件和回调**:...
对于更复杂的自定义,我们可以使用`renderer`属性来指定自定义渲染器。渲染器是决定数据如何在界面上显示的关键组件。通过创建自定义的MX:ListBaseItemRenderer或Spark:GridItemRenderer子类,我们可以完全控制...
在了解如何在Renderer中设置属性之前,我们首先需要了解Renderer的概念。Renderer是编程中用于渲染元素的组件或对象。在不同的编程框架和图形库中,Renderer可能具有不同的含义和用途。在本例中,我们讨论的是Adobe ...
项目渲染器(item renderer)允许开发者自定义列表控件的数据展示,是创建视觉吸引力强的应用的关键。通过实践和研究Flex Examples和关于Flex 4列表和布局的深入探讨,可以提升项目渲染器的运用技巧。 Flex应用通常...
在Flex中,我们通常通过创建一个AdvancedDataGrid实例并绑定数据提供者来使用它。数据提供者可以是ArrayCollection或其他支持ICollectionView接口的数据结构。 列头筛选功能的实现通常是通过监听AdvancedDataGrid的...
在Flex中,我们可以使用CSS(Cascading Style Sheets)来定义样式。创建一个CSS文件,例如`styles.css`,并在其中定义一个类,用于设置Datagrid行的背景色。例如,我们可以定义一个名为`highlightedRow`的类: ``...
ArcGIS Server 10.0 API for Flex 2.x 是Esri公司为开发者提供的一套API,允许开发者在Adobe Flex应用程序中嵌入和使用地理信息系统(GIS)功能。Flex是一种由Adobe Systems开发的富互联网应用(RIA)技术,它使用...