- 浏览: 1428568 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
如果您要显示大量 itemRenderer-无论在 DataGrid 还是在 AdvancedDataGrid 中-如果无法有效编写这些 itemRenderer, 您的应用程序性能可能受到负面影响。以下是一些可能有所帮助的提示: 以下 itemRenderer 根据数据字段的值切换组件。 这比设置样式要快。要注意的其他事项包括: 目前编写 itemRenderer 最有效的方式是使用 ActionScript 类扩展 UIComponent。您可以全面控制代码, 并且渲染器也可以尽可能高效。 从上例切换样式开始, 编写一个扩展 UIComponent 的简单 itemRenderer。 您会发现我不仅编写这个类来扩展 UIComponent, 还由它实施 IListItemRenderer 接口。这样做是有必要的, 因为 List 控制将需要任何渲染器实施该接口, 否则您会收到运行时错误, 因为列表尝试将渲染器转换为该接口。 如果阅读 IListItemRenderer 的相关文档, 您会发现这是一个许多其他接口的集合, UIComponent 会为您实施其中的大多数。但有一个 IListItemRenderer 扩展的接口是 UIComponent 不实施的:IDataRenderer。这需要您添加代码, 为 itemRenderer 类提供您一直使用的 如果您尝试不实施 IDataRenderer 就使用这个类, 则编译代码时会收到以下错误: 编辑这个类并将它更改为以下内容: 我直接使用 IDataRenderer 的 Flex 文档中的代码, 这样您都不用自己键入它。 移除它后, 您可以加入两个标签。 添加变量用于存放这两个标签。 将 调用 覆盖 覆盖 覆盖 所有这些只能做到这点似乎有点复杂, 但是请记住一点, 使用容器增加的代码要比这多得多。 UIComponent 类是所有可视 Flex 组件 (控制和容器) 的基础。以下是将 UIComponent 用作 itemRenderer 的一些相关提示。 有关 Flex itemRenderer 的系列到此结束。希望您通过这些文章了解到使用 itemRenderer 可以在 Flex 应用程序中做些什么以及如何处理它们的数据、外观和行为的最佳做法。您可以在 Adobe Flex 3 文档*中找到 Flex itemRenderer 的更多相关信息。
切换样式
<mx:Canvas>
<mx:Script><![CDATA private function lessThanZero() : Boolean {
return data.price < 0; }
]]></mx:Script>
<mx:Label text="{data.price}" color="#FF0000" visible="{lessThanZero()}" />
<mx:Label text="{data.price}" color="#00FF00" visible="{!lessThanZero()}" />
</mx:Canvas>
扩展 UIComponent
package renderers
{
import mx.controls.listClasses.IListItemRenderer;
import mx.core.UIComponent;
public class PriceItemRenderer extends UIComponent implements IListItemRenderer
{
public function PriceItemRenderer()
{
super();
}
}
}
data
属性。
package renderers
{
import mx.controls.listClasses.IListItemRenderer;
import mx.core.UIComponent;
import mx.events.FlexEvent;
public class PriceItemRenderer extends UIComponent implements IListItemRenderer
{
public function PriceItemRenderer()
{
super();
}
// Internal variable for the property value.
private var _data:Object;
// Make the data property bindable.
[Bindable("dataChange")]
// Define the getter method.
public function get data():Object {
return _data;
}
// Define the setter method, and dispatch an event when the property
// changes to support data binding.
public function set data(value:Object):void {
_data = value;
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
}
}
private var posLabel:Label; private var negLabel:Label;
set data
函数修改为调用 invalidateProperties()
。这很重要, 因为更改数据必须更改标签中的文本以及它们的可视性。 public function set data(value:Object):void {
_data = value;
invalidateProperties();
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
invalidateProperties()
会告知 Flex 框架在适当的时间调用 commitProperties() 函数。createChildren()
并创建标签, 添加它们以显示组件列表。注意, 除了创建标签外, 还会设置它们的样式和 visible
属性。override protected function createChildren() : void
{
super.createChildren();
posLabel = new Label();
posLabel.visible = false;
posLabel.setStyle("color", 0×00FF00);
addChild(posLabel);
negLabel = new Label();
negLabel.visible = false;
negLabel.setStyle("color", 0xFF0000);
addChild(negLabel);
}
commitProperties()
以设置标签的文本和可视性。过去, 您一直通过覆盖 set data
进行这类更改, 如果您喜欢, 也可以在这个类中那样做。override protected
function commitProperties():void
{
super.commitProperties();
posLabel.text = data.price;
negLabel.text = data.price;
posLabel.visible = Number(data.price) > 0;
negLabel.visible = Number(data.price) < 0;
}
updateDisplayList()
以设置标签大小并进行定位。您必须设置标签大小, 因为它们的默认大小为 0×0。这是 Container 类将为您做的另一件事。由于这个 itemRenderer 十分简单, 您只需将标签大小设置为与 itemRenderer 大小匹配即可。override protected function updateDisplayList(
unscaledWidth:Number, unscaledHeight:Number ) : void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
posLabel.move(0,0);
posLabel.setActualSize(unscaledWidth,unscaledHeight);
negLabel.move(0,0);
negLabel.setActualSize(unscaledWidth, unscaledHeight);
}
UIComponent 附注
updateDisplayList()
中指定的大小绘制图形和位置子代。variableRowHeight
, 您还应覆盖 measure()
函数, 告知列表 itemRenderer 有多大。后续工作
发表评论
-
Apache FlexJS 0.0.1 和 Apache Flex FalconJX 0.0.1发布
2015-11-01 19:44 525原文地址:http://note.sdo.com/u/634 ... -
Flash Catalyst 常用键盘快捷键
2011-03-28 15:38 1025转自:http://www.riameeting.com/ ... -
8款很实用的Actionscript写的位图(BitMap)操作类
2011-03-24 12:09 1902AS3 Scale9 Bitmap ... -
VC++ 项目中使用 FLEX
2011-03-24 09:13 19201, http://hi.baidu.com/qinpc/ ... -
flex应用开发/flash应用开发 代做flash作业/flex作业
2011-01-09 20:37 347专业承接flex应用开发/flash应用开发 ... -
脑袋里的秘密,输入姓名就可以知道你在想什么! flex版
2010-12-29 11:34 2509输入名字就可以知道她/他在想什么的工具~~ -
一个flex聊天机器人
2010-12-18 10:42 1634无聊之下所作,供大伙娱乐,随边聊聊。。。 -
Flex:基于Flex-config.xml的命令行编译
2009-07-01 09:33 1857关键字: Flex Flex2 编译 mxmlc ... -
抽出flash与java 用AMF交互代码
2009-06-30 15:09 3626最近做的一个java 与flash通讯的项目,由于项目框 ... -
BulkLoader类和PV3D
2009-06-26 17:02 1933AS3取消了movieclip的loader类,所以加 ... -
使用 Flex Builder 3.x 分析工具 Profile
2009-06-25 11:26 3371前言 关于分析工具 (原文见Flex Builder ... -
AMF3+JAVA的调用范例
2009-06-24 17:44 2520[AS3]AMF3+JAVA的调用范例 amf是Ad ... -
Flex 程序性能测试
2009-06-24 16:02 1913Flex 程序性能测试 作者:叶晖俊 yehui ... -
Flex RemoteObject类参考
2009-06-19 11:39 1211<mx:RemoteObject>标记 ... -
flex画的菱形
2009-05-11 16:19 3415package com { impo ... -
理解 Flex itemRenderer - 第 4 部分: 状态和过渡
2009-05-08 09:23 1681itemRenderer 最擅长与应用 ... -
VO to XML converter
2009-05-04 09:00 1112private function convertToXM ... -
Flex全屏
2008-09-26 11:11 1759private function goFullScreen( ... -
ExternalInterface在Firefox下出错的bug
2008-09-16 09:28 3146使用Document Class为避免命名空间冲突,通常会取消 ... -
Flex与Win32通信实例之ExternalInterface
2008-09-11 16:34 3451关键字: flex win32 vc++ vc externa ...
相关推荐
理解_Flex_itemRenderer 理解_Flex_itemRenderer 理解_Flex_itemRenderer
详细介绍Flex的项目呈现器的各种初级用法以及高级用法,相当实用。
NULL 博文链接:https://hcty31.iteye.com/blog/1190932
flex itemRenderer 渲染机制的概念和使用
关于flex的itemRenderer的介绍,还算比较详细。
Flex项呈示器自定义及使用实例,展示用户信息,包括头像及等级信息。与博客Flex之旅--项呈示器ItemRenderer对应
分享:Flex builder3执行Debug需要安装的Flash Player Debugger环境 百度空间_应用平台 flex4 的DataGrid里面加一列CheckBox并实现数据交互的试验 - 暖阳下的猫的日志 - 网易博客 Flex 4 ColumnChart 图表使用实例...
通过两种方法继承List组件的IconItemRenderer,实现在每个item项中添加组件,如button等
解决Flex内联itemRenderer的例子
flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识
NULL 博文链接:https://liugang-ok.iteye.com/blog/1135551
:warning: 该存储库没有像我们期望的那样积极地维护。 随意分叉该项目并解决您可能遇到的任何未... 接下来,创建一个和两个实例方法作为props children和itemRenderer : import React , { Component } from 'react'
</mx:itemRenderer> </mx:DataGridColumn> <mx:DataGridColumn headerText="names" dataField="names" width="200" /> <mx:DataGridColumn headerText="sex" dataField="sex" width="300" /> </mx:columns> ...
用FLEX4做的项呈现器,仿雅虎聊天界面。 需要的字段为userId、nikeName、sex…… 你可以自行添加 声明,次呈现器只做模版使用。
FLEX4实践—动态生成DataGrid及应用客户化itemRenderer.doc
itemRenderer里面的内容 获取技巧。
NULL 博文链接:https://baiyejianxin.iteye.com/blog/823229
flex中渲染器简介 本系列讨论 Flex itemRenderer 以及如何高效、有效地使用它们。
纯as3.0写的Tree,完美支持xml,用法: <fx:Declarations> <!... itemRenderer="tasklib.component.UserTreeRenderer" labelField="@labels" dataProvider="{data}"> </component:UserTree>
本文为大家详细介绍下Flex4如何使用itemRenderer 为Tree加线,感兴趣的朋友可以参考下