自定义TileList, override drawSelectionIndicator和drawHighlightIndicator就可以了
<?xml version="1.0"?>
<!-- dpcontrols/TileListDataProvider.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="initData();" xmlns:local="*">
<mx:Script>
<![CDATA[
import mx.controls.Button;
import mx.collections.*;
private var listArray:Array=[
{label: "item0", data: 0},{label: "item1", data: 1},
{label: "item2", data: 2},{label: "item3", data: 3},
{label: "item4", data: 4},{label: "item5", data: 5},
{label: "item6", data: 6},{label: "item7", data: 7},
{label: "item8", data: 8}];
[Bindable]
public var TileListdp:ArrayCollection;
private function initData():void {
TileListdp = new ArrayCollection(listArray);
}
]]>
</mx:Script>
<local:CustomTileList dataProvider="{TileListdp}"
rowHeight="120" columnWidth="120" >
<local:itemRenderer>
<mx:Component>
<mx:HBox
horizontalAlign="center" >
<mx:Canvas width="100" height="100" borderStyle="solid">
</mx:Canvas>
</mx:HBox>
</mx:Component>
</local:itemRenderer>
</local:CustomTileList>
</mx:Application>
package
{
import flash.display.Graphics;
import flash.display.Sprite;
import mx.controls.TileList;
import mx.controls.listClasses.IListItemRenderer;
public class CustomTileList extends TileList
{
override protected function drawSelectionIndicator(
indicator:Sprite, x:Number, y:Number,
width:Number, height:Number, color:uint,
itemRenderer:IListItemRenderer):void
{
var g:Graphics = Sprite(indicator).graphics;
g.clear();
g.beginFill(color);
g.drawRect(10, 10, width-20, height-20);
g.endFill();
indicator.x = x;
indicator.y = y;
}
override protected function drawHighlightIndicator(
indicator:Sprite, x:Number, y:Number,
width:Number, height:Number, color:uint,
itemRenderer:IListItemRenderer):void
{
var g:Graphics = Sprite(indicator).graphics;
g.clear();
g.beginFill(color);
g.drawRect(10, 10, width-20, height-20);
g.endFill();
indicator.x = x;
indicator.y = y;
}
}
}
分享到:
相关推荐
TileList组件虽然功能强大,但它并没有提供直接的属性来设置项与项之间的间距,这在需要特定布局效果时显得有些局限。 在TileList组件中,项之间的间距往往需要通过一些创造性的方法来实现。例如,通过设置...
在Flex Air应用开发中,TileList控件是一个强大的组件,常用于展示数据集中的项,以网格形式排列。本教程将深入探讨如何利用TileList控件实现一个具有翻页特效和图片浏览功能的相册应用。 一、TileList控件基础 ...
在这个方法中,我们创建并设置`TileList`的位置、层级等属性。例如,在代码中,我们看到`CompeteRankListView`的`initWorldWealthiestTileList`方法创建了一个`CompeteRankTileList`实例,并添加为子节点。同时,它...
- 考虑到不同的屏幕尺寸,开发者可能需要调整TileList的列数和间距,以适应不同分辨率的设备。Flex提供了弹性布局选项,可以帮助实现响应式设计。 9. **性能优化**: - 对于大量图片的展示,性能优化是关键。可以...
在CheckBoxItemRenderer的`set data()`方法中,应根据传递的数据对象来设置CheckBox的选中状态。同时,当CheckBox的选中状态改变时,需要更新数据模型以保持同步。以下是一个简单的示例: ```actionscript public ...
tileList.itemRenderer = function(item:Object, index:uint):void { var bitmap:Bitmap = new Bitmap(bitmapData); item.addChild(bitmap); }; ``` #### 三、总结 本文档详细介绍了如何使用AS3实现视频拍照...
数据绑定是Flex中的重要特性,它实现了源属性和目标属性之间的动态同步。Flex提供了三种数据绑定方式:MXML中的{}语法、`<fx:Binding>`标签和AS中的`BindingUtils`。数据绑定符{}可以引用属性或方法,且在编译时即...
a set of components with angularjs, which includes Datagrid,tree,dialog,progress,tilelist,tabset,dividedbox,imageview and so on. 参照了UI Bootstrap等组件的写法,主要对指令进行了自己的封装,我们希望...
在这个示例中,`myPhotos`变量被绑定到`TileList`组件的数据源,这意味着当`myPhotos`中的数据发生变化时,`TileList`将自动更新以反映这些变化。 ### 结论 本教程不仅涵盖了如何使用ActionScript 3 SDK与外部API...
3.6 节在容器内为子组件设置最大、最小尺寸 3.7 节为容器指定行和列的约束 3.8 节使用约束条件为文本创建排版流程(Layout Flows) 3.9 节在容器内控制滚动和溢出 3.10 节控制Box 组件的布局 3.11 节使用容器初始化 ...
WebUI4Angular是基于angularjs实现的一套UI组件,主要包括:datagrid,tree,dialog,progress,tilelist,tabset,dividedbox,imageview等等。组件需要使用angularjs1.3以上版本,其中拍照组件cameraScanner另需安装flash...
8. **TileList**:瓷砖列表控件,可以用来创建类似Windows 8或Windows 10开始菜单的布局,适用于展示图片、图标或者简短的信息,提供了一种现代且直观的用户体验。 9. **RichEditor SpellCheck**:富文本编辑器带有...
通过这个项目,开发者可以深入理解 Flex 与服务器之间的数据交换,以及如何利用 Flex 的强大皮肤系统提升用户界面的视觉吸引力和交互性。同时,这也是对 Flex 动态数据绑定和组件定制能力的一个良好实践。
9. TileList:支持水平和垂直布局的列表。 10. HorizontalList:仅支持水平布局的列表。 11. ToggleButton:ButtonBar的子类,表示当前状态。 12. TabBar:基于ToggleButton扩展,改变选中项的呈现方式。 13. ...
在Flex中,数据提供者是一个存储数据的对象集合,它是列表组件与实际数据之间的桥梁。数据提供者使得开发者能够轻松地更新数据,并即时反映到UI上。例如,在一个`Tree`控件中,数据提供者负责定义树的结构以及每个...
4. 制作图片轮播:如果需要实现图片轮播效果,可以结合`ArrayCollection`和`TileList`或`DataGrid`组件来实现。将多张图片的URL存储在ArrayCollection中,然后绑定到组件的数据源,通过定时器切换数据源的索引来实现...
在深入了解各个组件之前,我们需要先了解Flex 3的一些基础知识。Flex 3是基于ActionScript 3.0的一种开放源代码框架,用于构建跨平台的富互联网应用程序(RIA)。它提供了丰富的UI组件库以及强大的数据绑定和网络...
ColorPicker允许用户选择颜色,常用于需要自定义颜色设置的应用场景。 #### ComboBox ComboBox是下拉列表组件,提供了一种选择单个项目的便捷方式。 #### DataGrid DataGrid用于展示表格形式的数据,支持排序、...
10. **TileListAccImpl 类**:TileListAccImpl 类为 TileList 组件添加辅助功能,使其在多列布局中仍能被正确理解和操作。 11. **Object 类**:Object 类是 ActionScript 类层次结构的根,所有的自定义类都继承自 ...
- **TileList 组件**:用于创建类似磁贴布局的列表。 - **UILoader 组件**:用于动态加载外部内容。 - **UIScrollBar 组件**:用于创建自定义滚动条。 每一小节都包含了该组件的基本用法、常见属性和事件处理方法。...