- 浏览: 1095468 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://nianshi.iteye.com/blog/743829
itemRenderer 最擅长与应用程序的用户通信。有时通信很简单, 只是显示一个名称;有时会使用更精致的颜色;有时具有交互性。
itemEditor 是真正的交互控制, 但它们不是本文的重点。在这些示例中, 我将向您展示根据数据本身或用户操作更改可视外观的 itemRenderer。
Flex <mx:State> 是更改 itemRenderer 外观的一个理想方法。状态使用简便, 并且与过渡结合使用时, 可以为用户提供反馈和愉悦的体验。
在本例中, 您将为列表新建一个 MXML itemRenderer(记住, 如果您愿意, 完全可以使用 ActionScript 这样做)。这个 itemRenderer 显示图像、书名、作者、价格以及用于购买这本书籍的 Button。
Java代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <mx:HBox xmlns:mx="/2006/mxml">
3.
4. <mx:Image id="bookImage" source="{data.image}" />
5. <mx:VBox height="115" width="100%" verticalAlign="top" verticalGap="0" paddingRight="10">
6. <mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
7. <mx:Label text="{data.author}" />
8. <mx:HBox id="priceBox" width="100%">
9. <mx:Label text="{data.price}" width="100%"/>
10. <mx:Button label="Buy" />
11. </mx:HBox>
12. </mx:VBox>
13. </mx:HBox>
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="/2006/mxml">
<mx:Image id="bookImage" source="{data.image}" />
<mx:VBox height="115" width="100%" verticalAlign="top" verticalGap="0" paddingRight="10">
<mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
<mx:Label text="{data.author}" />
<mx:HBox id="priceBox" width="100%">
<mx:Label text="{data.price}" width="100%"/>
<mx:Button label="Buy" />
</mx:HBox>
</mx:VBox>
</mx:HBox>
但是, 您想要实现的是, 如果书籍售空(数据包含 <instock> 节点, 它们是 yes 或 no), 价格和“购买”Button 会消失。我为价格和 Button 的 HBox 父代增加了一个 id 属性, 使此处的编码更简单一些。这样, 我可以通过更改 HBox 和 priceBox 的可视性来更改那些项目的可视性。
通过覆盖 set data 函数可以这样做, 您将会这么做, 但不是直接更改 priceBox 的可视性, 而是使用以下状态定义:
Java代码
1. <mx:states>
2. <mx:State name="NoStockState">
3. <mx:SetProperty target="{priceBox}" name="visible" value="false"/>
4. </mx:State>
5. </mx:states>
<mx:states>
<mx:State name="NoStockState">
<mx:SetProperty target="{priceBox}" name="visible" value="false"/>
</mx:State>
</mx:states>
将以下内容放在根 <mx:HBox> 标记下。
这个示例有些牵强, 因为它过于复杂, 不适合执行简单任务, 但它说明了如何使用状态。有两种状态:
•基本状态: 这是组件的正常状态。不使用状态的组件处于基本状态。在本例中, 基本状态的 priceBox visible 属性为 true(默认)。这是当 instock 为 yes 时的情况。
•NoStockState: 这是当 instock 的值为 no 时的状态。处于这个状态时, 会执行 SetProperty 指令。target 属性决定了哪个类成员有问题, name 属性是目标上待更改属性的名称, value 是该属性的新值。
set data 函数通过查看 instock 的值决定要使用哪个状态:
Java代码
1. override public function set data( value:Object ) : void
2. {
3. super.data = value;
4.
5. if( data )
6. {
7. if( data.instock == "yes" )
8. currentState = "";
9. else
10. currentState = "NoStockState";
11. }
12. }
override public function set data( value:Object ) : void
{
super.data = value;
if( data )
{
if( data.instock == "yes" )
currentState = "";
else
currentState = "NoStockState";
}
}
currentState 是所有 UIComponent 控制的属性。它决定了哪个状态是活动状态。在状态之间切换时, Flex 框架从基本状态开始, 然后应用给定状态的规则。
注意: 请记住 itemRenderer 是循环使用的, 所以您必须始终恢复值;不要在 itemRenderer 中保留 if 而没有 else。
如果您感觉风险较打, 可以删除本例中的 set data 覆盖。使用数据绑定表达式在根标记中直接设置 currentState:
Java代码
1. <mx:HBox xmlns:mx="/2006/mxml" width="400" currentState="{data.instock == 'yes' ? '' : 'NoStockState'}" >
<mx:HBox xmlns:mx="/2006/mxml" width="400" currentState="{data.instock == 'yes' ? '' : 'NoStockState'}" >
通过检查与根标记内联的 data.instock 来设置 currentState 的值-不错的伎俩, 但是可能较难维护。
在这个 itemRenderer 中, 仅当 instack 值为 yes时才显示价格和“购买”按钮。当然不使用状态也可以这样做, 但是, 如果 itemRenderer 要添加或删除更多控制, 状态更适合, 因为可以通过设置 itemRenderer 的 currentState 属性对控制外观轻松实现控制。
您使用状态添加一个标签, 告诉用户该商品已售空, 而不是简单地删除价格和 Button。以下是修改后的状态:
Java代码
1. <mx:states>
2. <mx:State name="NoStockState">
3. <mx:SetProperty target="{priceBox}" name="visible" value="false"/>
4. <mx:AddChild relativeTo="{priceBox}" position="before">
5. <mx:Label text="-- currently not in stock --" color="#73DAF0"/>
6. </mx:AddChild>
7. </mx:State>
8. </mx:states>
<mx:states>
<mx:State name="NoStockState">
<mx:SetProperty target="{priceBox}" name="visible" value="false"/>
<mx:AddChild relativeTo="{priceBox}" position="before">
<mx:Label text="-- currently not in stock --" color="#73DAF0"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:AddChild> 标记指明将 Label 添加到 priceBox 中。除了将 priceBox 的 visible 属性设置为 false, 再使用一条友好的消息替换它。
再次, 您可以将这个标签添加到 set data 函数中-或按原样添加它, 只需将它的可视性设置为 false 并在 set data 函数中将它更改为 true。但我认为您可以看到状态的值: 如果 instock 变为 no 条件的要求变得更复杂, 您只需调整 NoStockState;切换状态的 ActionScript 代码保持不变。
注意: 可以在 Flex Builder 的“设计”视图中修改状态。
本例不太适合 List 控制, 但十分适合 VBox 和 Repeater。当必须滚动列表时, 这个扩展适当位置项目的问题变得有些冒险。想象一下: 列表中的项目高度相同。现在扩展项目 2 的高度。目前进展顺利: 项目 2 比其他可见项目高。关键在这里: visible 项目。现在滚动列表。记住 itemRenderer 是循环使用的。所以当项目 2 滚出视图时, 它的 itemRenderer 将移到列表底部。必须重置它的高度。没问题, 这个相当简单。现在滚动列表, 使项目 2 重新回到视图中。它应该是扩展后的高度。itemRenderer 怎么知道要这样做? 通过之前的文章, 您知道信息来自数据本身或某些外部源。
我认为调整大小的 itemRenderer 太复杂, 并不值得这样做。我相信使用 VBox 和 Repeater 能以更好的方式做到这一点。但是, Repeater 的关键在于将创建每个子代。如果您有 1000 个记录并使用 Repeater, 您会获得 itemRenderer 的 1000 个实例。
对于本例, 您依然编写一个 itemRenderer, 但将它用作 VBox 的子代。列表元素看上去相当简单: 一本书籍的名称及其作者。但是单击 itemRenderer, 它会扩展到位。我们使用两种战术做到这一点:
•itemRenderer 有一种包含附加信息的状态。
•itemRenderer 使用一种 Resize 过渡, 为 itemRenderer 提供更平滑的扩展和收缩。
itemRenderer 的基本状态相当简单
Java代码
1. <mx:HBox width="100%">
2. <mx:Label text="{data.author}" fontWeight="bold"/>
3. <mx:Text text="{data.title}" width="100%" fontSize="12" selectable="false"/>
4. </mx:HBox>
<mx:HBox width="100%">
<mx:Label text="{data.author}" fontWeight="bold"/>
<mx:Text text="{data.title}" width="100%" fontSize="12" selectable="false"/>
</mx:HBox>
ExpandedState 添加其他元素, 它们用于 itemRenderer 的高度:
Java代码
1. <mx:states>
2. <mx:State name="ExpandedState">
3. <mx:AddChild position="lastChild">
4. <mx:HBox width="100%">
5. <mx:Image source="{data.image}"/>
6. <mx:Spacer width="100%"/>
7. <mx:Label text="{data.price}"/>
8. <mx:Button label="Buy"/>
9. </mx:HBox>
10. </mx:AddChild>
11. </mx:State>
12. </mx:states>
<mx:states>
<mx:State name="ExpandedState">
<mx:AddChild position="lastChild">
<mx:HBox width="100%">
<mx:Image source="{data.image}"/>
<mx:Spacer width="100%"/>
<mx:Label text="{data.price}"/>
<mx:Button label="Buy"/>
</mx:HBox>
</mx:AddChild>
</mx:State>
</mx:states>
使用 itemRenderer 更改大小就像添加过渡一样简单:
Java代码
1. <mx:transitions>
2. <mx:Transition fromState="*" toState="*">
3. <mx:Resize target="{this}" />
4. </mx:Transition>
5. </mx:transitions>
<mx:transitions>
<mx:Transition fromState="*" toState="*">
<mx:Resize target="{this}" />
</mx:Transition>
</mx:transitions>
将它放在 <mx:states> 标记下。
每当状态更改时应用过渡, 因为状态的 fromState 和 toState 属性是通配符。现在您只需添加用于单击 itemRenderer(将一个 click 事件添加到根标记)的事件处理函数并更改状态:
Java代码
1. <mx:Script>
2. <![CDATA[
3.
4. private function expandItem() : void
5. {
6. if( currentState == "ExpandedState" )
7. currentState = "";
8. else
9. currentState = "ExpandedState";
10. }
11. ]]>
12. </mx:Script>
<mx:Script>
<![CDATA[
private function expandItem() : void
{
if( currentState == "ExpandedState" )
currentState = "";
else
currentState = "ExpandedState";
}
]]>
</mx:Script>
状态是对 itemRenderer 的可视外观进行大量修改的好方法。您可以将多个更改归入一个 State, 然后设置 itemRenderer 的 currentState 属性就可以全部完成。
在下一篇文章中, 我们将讨论如何通过扩展 UIComponent 编写更高效的 itemRenderer。
itemRenderer 最擅长与应用程序的用户通信。有时通信很简单, 只是显示一个名称;有时会使用更精致的颜色;有时具有交互性。
itemEditor 是真正的交互控制, 但它们不是本文的重点。在这些示例中, 我将向您展示根据数据本身或用户操作更改可视外观的 itemRenderer。
Flex <mx:State> 是更改 itemRenderer 外观的一个理想方法。状态使用简便, 并且与过渡结合使用时, 可以为用户提供反馈和愉悦的体验。
在本例中, 您将为列表新建一个 MXML itemRenderer(记住, 如果您愿意, 完全可以使用 ActionScript 这样做)。这个 itemRenderer 显示图像、书名、作者、价格以及用于购买这本书籍的 Button。
Java代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <mx:HBox xmlns:mx="/2006/mxml">
3.
4. <mx:Image id="bookImage" source="{data.image}" />
5. <mx:VBox height="115" width="100%" verticalAlign="top" verticalGap="0" paddingRight="10">
6. <mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
7. <mx:Label text="{data.author}" />
8. <mx:HBox id="priceBox" width="100%">
9. <mx:Label text="{data.price}" width="100%"/>
10. <mx:Button label="Buy" />
11. </mx:HBox>
12. </mx:VBox>
13. </mx:HBox>
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="/2006/mxml">
<mx:Image id="bookImage" source="{data.image}" />
<mx:VBox height="115" width="100%" verticalAlign="top" verticalGap="0" paddingRight="10">
<mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
<mx:Label text="{data.author}" />
<mx:HBox id="priceBox" width="100%">
<mx:Label text="{data.price}" width="100%"/>
<mx:Button label="Buy" />
</mx:HBox>
</mx:VBox>
</mx:HBox>
但是, 您想要实现的是, 如果书籍售空(数据包含 <instock> 节点, 它们是 yes 或 no), 价格和“购买”Button 会消失。我为价格和 Button 的 HBox 父代增加了一个 id 属性, 使此处的编码更简单一些。这样, 我可以通过更改 HBox 和 priceBox 的可视性来更改那些项目的可视性。
通过覆盖 set data 函数可以这样做, 您将会这么做, 但不是直接更改 priceBox 的可视性, 而是使用以下状态定义:
Java代码
1. <mx:states>
2. <mx:State name="NoStockState">
3. <mx:SetProperty target="{priceBox}" name="visible" value="false"/>
4. </mx:State>
5. </mx:states>
<mx:states>
<mx:State name="NoStockState">
<mx:SetProperty target="{priceBox}" name="visible" value="false"/>
</mx:State>
</mx:states>
将以下内容放在根 <mx:HBox> 标记下。
这个示例有些牵强, 因为它过于复杂, 不适合执行简单任务, 但它说明了如何使用状态。有两种状态:
•基本状态: 这是组件的正常状态。不使用状态的组件处于基本状态。在本例中, 基本状态的 priceBox visible 属性为 true(默认)。这是当 instock 为 yes 时的情况。
•NoStockState: 这是当 instock 的值为 no 时的状态。处于这个状态时, 会执行 SetProperty 指令。target 属性决定了哪个类成员有问题, name 属性是目标上待更改属性的名称, value 是该属性的新值。
set data 函数通过查看 instock 的值决定要使用哪个状态:
Java代码
1. override public function set data( value:Object ) : void
2. {
3. super.data = value;
4.
5. if( data )
6. {
7. if( data.instock == "yes" )
8. currentState = "";
9. else
10. currentState = "NoStockState";
11. }
12. }
override public function set data( value:Object ) : void
{
super.data = value;
if( data )
{
if( data.instock == "yes" )
currentState = "";
else
currentState = "NoStockState";
}
}
currentState 是所有 UIComponent 控制的属性。它决定了哪个状态是活动状态。在状态之间切换时, Flex 框架从基本状态开始, 然后应用给定状态的规则。
注意: 请记住 itemRenderer 是循环使用的, 所以您必须始终恢复值;不要在 itemRenderer 中保留 if 而没有 else。
如果您感觉风险较打, 可以删除本例中的 set data 覆盖。使用数据绑定表达式在根标记中直接设置 currentState:
Java代码
1. <mx:HBox xmlns:mx="/2006/mxml" width="400" currentState="{data.instock == 'yes' ? '' : 'NoStockState'}" >
<mx:HBox xmlns:mx="/2006/mxml" width="400" currentState="{data.instock == 'yes' ? '' : 'NoStockState'}" >
通过检查与根标记内联的 data.instock 来设置 currentState 的值-不错的伎俩, 但是可能较难维护。
在这个 itemRenderer 中, 仅当 instack 值为 yes时才显示价格和“购买”按钮。当然不使用状态也可以这样做, 但是, 如果 itemRenderer 要添加或删除更多控制, 状态更适合, 因为可以通过设置 itemRenderer 的 currentState 属性对控制外观轻松实现控制。
您使用状态添加一个标签, 告诉用户该商品已售空, 而不是简单地删除价格和 Button。以下是修改后的状态:
Java代码
1. <mx:states>
2. <mx:State name="NoStockState">
3. <mx:SetProperty target="{priceBox}" name="visible" value="false"/>
4. <mx:AddChild relativeTo="{priceBox}" position="before">
5. <mx:Label text="-- currently not in stock --" color="#73DAF0"/>
6. </mx:AddChild>
7. </mx:State>
8. </mx:states>
<mx:states>
<mx:State name="NoStockState">
<mx:SetProperty target="{priceBox}" name="visible" value="false"/>
<mx:AddChild relativeTo="{priceBox}" position="before">
<mx:Label text="-- currently not in stock --" color="#73DAF0"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:AddChild> 标记指明将 Label 添加到 priceBox 中。除了将 priceBox 的 visible 属性设置为 false, 再使用一条友好的消息替换它。
再次, 您可以将这个标签添加到 set data 函数中-或按原样添加它, 只需将它的可视性设置为 false 并在 set data 函数中将它更改为 true。但我认为您可以看到状态的值: 如果 instock 变为 no 条件的要求变得更复杂, 您只需调整 NoStockState;切换状态的 ActionScript 代码保持不变。
注意: 可以在 Flex Builder 的“设计”视图中修改状态。
本例不太适合 List 控制, 但十分适合 VBox 和 Repeater。当必须滚动列表时, 这个扩展适当位置项目的问题变得有些冒险。想象一下: 列表中的项目高度相同。现在扩展项目 2 的高度。目前进展顺利: 项目 2 比其他可见项目高。关键在这里: visible 项目。现在滚动列表。记住 itemRenderer 是循环使用的。所以当项目 2 滚出视图时, 它的 itemRenderer 将移到列表底部。必须重置它的高度。没问题, 这个相当简单。现在滚动列表, 使项目 2 重新回到视图中。它应该是扩展后的高度。itemRenderer 怎么知道要这样做? 通过之前的文章, 您知道信息来自数据本身或某些外部源。
我认为调整大小的 itemRenderer 太复杂, 并不值得这样做。我相信使用 VBox 和 Repeater 能以更好的方式做到这一点。但是, Repeater 的关键在于将创建每个子代。如果您有 1000 个记录并使用 Repeater, 您会获得 itemRenderer 的 1000 个实例。
对于本例, 您依然编写一个 itemRenderer, 但将它用作 VBox 的子代。列表元素看上去相当简单: 一本书籍的名称及其作者。但是单击 itemRenderer, 它会扩展到位。我们使用两种战术做到这一点:
•itemRenderer 有一种包含附加信息的状态。
•itemRenderer 使用一种 Resize 过渡, 为 itemRenderer 提供更平滑的扩展和收缩。
itemRenderer 的基本状态相当简单
Java代码
1. <mx:HBox width="100%">
2. <mx:Label text="{data.author}" fontWeight="bold"/>
3. <mx:Text text="{data.title}" width="100%" fontSize="12" selectable="false"/>
4. </mx:HBox>
<mx:HBox width="100%">
<mx:Label text="{data.author}" fontWeight="bold"/>
<mx:Text text="{data.title}" width="100%" fontSize="12" selectable="false"/>
</mx:HBox>
ExpandedState 添加其他元素, 它们用于 itemRenderer 的高度:
Java代码
1. <mx:states>
2. <mx:State name="ExpandedState">
3. <mx:AddChild position="lastChild">
4. <mx:HBox width="100%">
5. <mx:Image source="{data.image}"/>
6. <mx:Spacer width="100%"/>
7. <mx:Label text="{data.price}"/>
8. <mx:Button label="Buy"/>
9. </mx:HBox>
10. </mx:AddChild>
11. </mx:State>
12. </mx:states>
<mx:states>
<mx:State name="ExpandedState">
<mx:AddChild position="lastChild">
<mx:HBox width="100%">
<mx:Image source="{data.image}"/>
<mx:Spacer width="100%"/>
<mx:Label text="{data.price}"/>
<mx:Button label="Buy"/>
</mx:HBox>
</mx:AddChild>
</mx:State>
</mx:states>
使用 itemRenderer 更改大小就像添加过渡一样简单:
Java代码
1. <mx:transitions>
2. <mx:Transition fromState="*" toState="*">
3. <mx:Resize target="{this}" />
4. </mx:Transition>
5. </mx:transitions>
<mx:transitions>
<mx:Transition fromState="*" toState="*">
<mx:Resize target="{this}" />
</mx:Transition>
</mx:transitions>
将它放在 <mx:states> 标记下。
每当状态更改时应用过渡, 因为状态的 fromState 和 toState 属性是通配符。现在您只需添加用于单击 itemRenderer(将一个 click 事件添加到根标记)的事件处理函数并更改状态:
Java代码
1. <mx:Script>
2. <![CDATA[
3.
4. private function expandItem() : void
5. {
6. if( currentState == "ExpandedState" )
7. currentState = "";
8. else
9. currentState = "ExpandedState";
10. }
11. ]]>
12. </mx:Script>
<mx:Script>
<![CDATA[
private function expandItem() : void
{
if( currentState == "ExpandedState" )
currentState = "";
else
currentState = "ExpandedState";
}
]]>
</mx:Script>
状态是对 itemRenderer 的可视外观进行大量修改的好方法。您可以将多个更改归入一个 State, 然后设置 itemRenderer 的 currentState 属性就可以全部完成。
在下一篇文章中, 我们将讨论如何通过扩展 UIComponent 编写更高效的 itemRenderer。
发表评论
-
Flex数据绑定及其使用频繁的几种情况
2011-10-20 03:39 1461http://developer.51cto.com/art/ ... -
揭开Flex正则表达式的神秘面纱
2011-10-20 03:38 1235http://developer.51cto.com/art/ ... -
Flex模块化开发优势及技巧解析
2011-10-20 03:38 1763http://developer.51cto.com/art/ ... -
Flex模块化应用程序开发
2011-10-20 03:38 1184http://developer.51cto.com/art/ ... -
[转]Flex模块化的目的及其步骤
2011-10-20 03:35 1211http://developer.51cto.co ... -
翻译: Flash文本引擎, 第三部分: 布局
2011-10-20 02:36 0http://www.riade ... -
翻译: Flash文本引擎, 第二部分: 交互
2011-10-20 02:34 0http://www.riadev.com/flex-thre ... -
翻译: Flash文本引擎, 第一部分: 概述
2011-10-20 02:33 0http://www.riadev.com/flex-thre ... -
[转]flex操作XML,强力总结帖
2011-08-16 01:10 1067http://qiqishou.iteye.com ... -
[转]用ActionScript 开发高级可视化组件
2011-08-14 04:37 0用ActionScript 开发高级可视化组件 -
[转]AIR2.0 NativeProcess in Flash Builder 4.0
2011-08-07 23:37 1500AIR2.0 NativeProcess in Fla ... -
[转] Actionscript项目嵌入图片(设置九宫格缩放)
2011-07-27 02:04 2368我们知道在Flex项目中,嵌入外部图片,可以使用 [E ... -
[转]NumericStepper添加百分号
2011-07-26 23:32 1153请问 NumericStepper组件中添加百分号 ... -
[新闻资讯] [Flash/Flex] 走自己的路:重写AIR移动应用程序中的BACK按键
2011-06-15 13:44 1254http://bbs.9ria.com/viewthread. ... -
[转]关于Spark List控件和Spark DataGrid控件的提示
2011-06-02 05:23 1453http://bbs.9ria.com/viewthread. ... -
flex 3 能使用openwithDefaultApplication吗
2011-06-02 05:05 0最近用到了 使用air 来开启外部的程序。 我知道flash ... -
[Flex]Flex编程注意之Flex Complier参数
2011-05-19 19:56 1112http://fykyx521.iteye.com/blog/ ... -
Aarry和AarryCollection
2011-05-18 00:06 1240在AS3里面,数组里面可以存储字符串、数字、布尔值、或引用的类 ... -
[Flash/Flex] 给一个TitleWindow添加按钮的方法
2011-05-07 01:38 1699资讯类型: 翻译 来源页面: http://userflex. ... -
[转][Android] Android桌面应用程序-交通灯游戏源码
2011-04-25 02:46 0http://bbs.9ria.com/viewthread. ...
相关推荐
这种类型的 ItemRenderer 主要在简单的应用中使用,它能够快速地为列表中的每一项提供基本的样式和布局。 **示例代码:** ```xml <mx:DataGrid id="dgBooks" width="100%" height="100%"> <mx:columns> <mx:...
总之,Flex中的ItemRenderer是实现数据可视化和交互性的重要工具。通过自定义ItemRenderer,我们可以创建独特且富有表现力的用户界面,增强应用程序的用户体验。了解并熟练掌握ItemRenderer的使用,对于Flex开发者来...
Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者可以实现高度个性化的数据展示效果。 #### 二、Flex_itemRenderer ...
Flex中的itemRenderer有两种类型:内联itemRenderer和外部itemRenderer。内联itemRenderer直接嵌入在MXML文件中,而外部itemRenderer则是定义在独立的MXML或ActionScript类中。内联itemRenderer通常用于简单的定制...
Flex中的itemRenderer是一种关键的组件渲染机制,它允许开发者自定义列表或数据集项的显示方式。在Flex应用中,特别是在处理数据集如ArrayCollection时,我们常常需要以不同的方式展示每个项目,例如图片、文本或者...
本文将深入探讨Flex项呈示器(ItemRenderer)的概念、使用方法,以及如何根据需求定制它来展示用户信息,如头像和等级。 ## 一、Flex项呈示器(ItemRenderer)简介 Flex项呈示器是Adobe Flex框架中的一个组件,其...
ItemRenderer是Flex中的一种组件,它的主要任务是将数据对象转换为可视化的UI元素。在描述的项目中,我们需要展示的信息包括userId、nickName、sex等字段。通过自定义ItemRenderer,我们可以确保这些信息以用户友好...
在Flex中,我们可以使用MX或Spark组件库来创建itemRenderer。MX组件库更适合较旧的应用,而Spark组件库则提供更现代、性能更好的组件。在Spark组件中,如List或DataGrid,我们通常会用到`<s:List.itemRenderer>`或`...
IconItemRenderer是Flex中一个预定义的类,它是ItemRenderer的子类,通常用于在List组件的每一项中显示图标和文本。我们可以通过继承IconItemRenderer来扩展其功能,比如在ItemRenderer中添加按钮、图像或者其他组件...
本篇文章将深入探讨如何利用ItemRenderer实现一个灵活且功能丰富的相册示例,同时也会涉及Flex中的一些核心概念和编程技巧。 首先,我们需要了解ItemRenderer的基本结构。ItemRenderer是ActionScript类,通常继承自...
Flex ItemRenderer 是Adobe Flex框架中的一个重要概念,它主要用于自定义MX和Spark组件列表视图(如List、DataGrid等)中的每一项显示样式。ItemRenderer允许开发者根据数据项的内容个性化呈现,提供更丰富的用户...
flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识
- **ListBase**:Flex 中所有列表控件的基类,提供了很多用于管理和操作列表项的功能。 #### 三、问题描述 具体来说,我们有一个名为 `MyHorizontalList` 的 HorizontalList 类型的组件,它具有以下特性: 1. **...
- ItemRenderer是Flex中用于显示数据集中的单个数据项的轻量级组件。它们通常与List、DataGrid或其他数据绑定控件一起使用。 - ItemRenderers是可重用的,每个实例对应数据集中的一个数据项。 - 自定义...
在Flex中,渲染器允许开发者自定义列表中每一项的外观和行为,以此来提高用户体验和视觉吸引力。本系列将深入探讨Flex的itemRenderer及其高效使用方法。 首先,我们了解一个基本概念:Flex的列表控件并不为每个数据...
8. **XML存储数据**: ML(可能是XML的误写)是常用的数据存储格式,特别适合在Flex中使用,因为它可以轻松地与ActionScript相互操作。在本例中,XML可能被用作数据源,提供播表的节目信息。 综上所述,这个项目可能...
Flex中的`itemRenderer`是一个强大的组件,它允许我们自定义数据项的显示方式。当我们想要根据数据的特定属性或条件改变每一行的外观时,`itemRenderer`就是最佳选择。一个`itemRenderer`就是一个小的MXML或...
2. **自定义ItemRenderer**:Flex中的ItemRenderer是用来渲染数据项的组件。为了实现行颜色的动态变化,我们需要为Datagrid创建一个自定义的ItemRenderer。在ItemRenderer类中,我们将监听数据源的`data`属性,当...
- Flex中的DataGrid默认只支持单选或全选,但通过自定义实现,可以扩展到三状态多选。这通常涉及到监听`itemClick`事件,维护一个记录选中状态的数组,并更新ItemRenderer的视觉反馈。 - 用户可以通过复选框或者...
5. **Struts2整合**:如果项目中使用了Struts2,可以创建一个Action,该Action调用服务层的方法获取图片数据,并在返回结果中包含这个数据。Struts2的`StreamingResult`或者自定义ResultType可以帮助我们正确地将二...