TileList设置显示数据的行间距和列间距
要想设置TileList的间距只有重写TileList的 drawHighlightIndicator、drawSelectionIndicator方法和 verticalGap、horizontalGap的get\set属性才能实现,例:
/**
* Author Dante
* Email:rubbish86630@yahoo.com.cn
* CreatedTime:2009.04.13
* Description:
* 该组件实现选中和划过theme样式,并且添加间距
* **/
package com.ckfinder.show {
import flash.display.Graphics;
import flash.display.Sprite;
import mx.controls.TileList;
import mx.controls.listClasses.IListItemRenderer;
public class MyTileList extends TileList {
[Bindable]
private var _verticalGap:Number = 0;
[Bindable]
private var _horizontalGap:Number = 0;
public function MyTileList() {
super();
}
/**
* 重写鼠标划过高亮
* @indicator:Sprite
* @x:Number
* @y:Number
* @width:Number
* @height:Number
* @color:uint
* @itemRenderer:IListItemRenderer
* return void
* **/
override protected function drawHighlightIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void {
//绘图
var g:Graphics = indicator.graphics;
g.clear();
g.beginFill(color);
// g.drawEllipse(0, 0, width - _horizontalGap, height - _verticalGap); //画椭圆
g.drawRect(0, 0, width - _horizontalGap, height - _verticalGap); //画矩形
g.endFill();
indicator.x = x;
indicator.y = y;
}
/**
* 重写选中高亮
* @indicator:Sprite
* @x:Number
* @y:Number
* @width:Number
* @height:Number
* @color:uint
* @itemRenderer:IListItemRenderer
* return void
* **/
override protected function drawSelectionIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void {
//绘图
var g:Graphics = indicator.graphics;
g.clear();
g.beginFill(color);
// g.drawEllipse(0, 0, width - _horizontalGap, height - _verticalGap); //画椭圆
g.drawRect(0, 0, width - _horizontalGap, height - _verticalGap); //画矩形
g.endFill();
indicator.x = x;
indicator.y = y;
}
//=============================
// set and get
//=============================
public function set verticalGap(value:Number):void {
_verticalGap = value;
}
public function get verticalGap():Number {
return _verticalGap;
}
public function set horizontalGap(value:Number):void {
_horizontalGap = value;
}
public function get horizontalGap():Number {
return _horizontalGap;
}
}
}
分享到:
相关推荐
通过设置其`columns`属性可以指定每行显示的列数,而`columnWidth`和`rowHeight`则分别定义了每列和每行的宽度和高度。此外,`dataProvider`属性用于绑定数据源,使TileList能够显示数据。 二、相册数据结构 首先,...
- 考虑到不同的屏幕尺寸,开发者可能需要调整TileList的列数和间距,以适应不同分辨率的设备。Flex提供了弹性布局选项,可以帮助实现响应式设计。 9. **性能优化**: - 对于大量图片的展示,性能优化是关键。可以...
Flex TileList是Adobe Flex框架中用于显示数据列表的一个组件,它能够展示一系列的项,比如图片、文本或按钮等。这些项通常会以水平或垂直滚动列表的形式展现。TileList组件虽然功能强大,但它并没有提供直接的属性...
总的来说,`cocos2d-x`中的`TileList`使用起来虽然复杂,但通过合理的数据结构和定制化的设计,可以构建出丰富的可滚动列表效果。在实际开发中,需要注意内存管理、性能优化以及事件处理,以确保应用的稳定性和用户...
综上所述,解决Flex的TileList中的滚动条下滑导致的CheckBox选中状态混乱问题,需要正确处理ItemRenderer的生命周期和数据绑定。同时,通过监听CheckBox的`change`事件来获取选中项的数据,可以避免不必要的麻烦。...
DataGrid默认显示模型中的所有数据,列标题会自动设置为属性名,列的排列方式通常是不可预测的。通过可以自定义列的显示顺序和标题文字。 2. **创建自定义MXML组件**:MXML是基于XML的标记语言,用于定义Flex应用中...
4. 制作图片轮播:如果需要实现图片轮播效果,可以结合`ArrayCollection`和`TileList`或`DataGrid`组件来实现。将多张图片的URL存储在ArrayCollection中,然后绑定到组件的数据源,通过定时器切换数据源的索引来实现...
3.7 节为容器指定行和列的约束 3.8 节使用约束条件为文本创建排版流程(Layout Flows) 3.9 节在容器内控制滚动和溢出 3.10 节控制Box 组件的布局 3.11 节使用容器初始化 3.12 节创建TitleWindow 3.13 节通过LinkBar ...
在这个教程中,我们看到AS3 SDK的基本应用,包括如何设置API Key和Secret,事件监听以及数据处理。 #### 设置API Key/Secret 每个开发者都需要申请一组API Key和Secret来访问特定的API服务。这些密钥用于身份验证,...
3. 将解析后的数据绑定到 Flex 组件,如 TileList 或 AdvancedDataGrid,以显示焦点图新闻。 4. 设计并创建自定义按钮皮肤,可以使用 Flex SDK 提供的 ButtonSkin 类作为基础,通过调整图形元素、颜色和动画来实现所...
3. **ListEditor**:列表编辑器控件,允许用户在列表中查看和编辑数据,支持多列和自定义布局,对于数据展示和管理提供了极大的便利,尤其适合数据密集型应用。 4. **Grid Feature Demos**:这些示例展示了网格控件...
Flex是Adobe开发的一种用于构建富互联网应用程序(RIA)的框架,主要使用ActionScript语言和MXML标记语言。本文档是针对Flex和Java初学者的学习...在实际项目中,结合Java后端服务,可以实现更复杂的功能和数据交互。
Form组件用于创建表单,包含表头、表项和表行等元素,便于数据输入和管理。 #### Grid Grid组件用于创建网格布局,适合展示表格数据。 #### Panel Panel组件用于创建带有标题和边框的面板,常用于内容的组织和分隔...
尺寸可以通过属性如`height`和`width`进行设置,同时支持百分比和像素单位。事件处理使得组件能响应用户的交互行为,如点击、拖拽等。样式和皮肤则允许开发者改变组件的外观和感觉,以适应不同的设计需求。例如,...
组件通常由多个部分组成,包括外观、行为和数据管理等。开发者可以通过设置参数和属性来调整这些部分。 **使用组件文件** 组件通常以 `.swc` 文件形式存在,这种文件包含了组件的所有资源。要使用组件,需要将 `....
在这个例子中,`DataGrid`控件绑定了`artwork.piece`作为数据提供者,因此它会使用默认的条目渲染器来显示每个`piece`元素中的数据。 #### 七、结论 通过使用不同的条目渲染器技术,开发者可以在Adobe Flex中创建出...
8. **DataGridAccImpl 类**:DataGridAccImpl 类确保 DataGrid 组件的行、列和数据能够被屏幕阅读器读取,方便用户导航和操作数据网格。 9. **ListAccImpl 类**:ListAccImpl 类用于使 List 组件具备辅助功能,让...
然后创建一个新的`Video`对象,并设置其宽度和高度,最后通过`attachCamera()`方法将摄像头与视频组件关联起来。 ##### 2. 错误处理 - **问题**:如果没有摄像头或者摄像头未连接,程序应该能够给出相应的提示或...
- **Formatters**: 用于格式化数据显示。 - **CurrencyFormatter**: 货币数值的格式化。 - **DateFormatter**: 日期的格式化。 - **Formatter**: 通用的格式化器基类。 - **NumberFormatter**: 数字的格式化。 ...
3. **例子3:nonlist-based控件的数据移动和拷贝**:提供如何在非列表基础控件之间移动或复制数据的示例。 以上是对Flex3组件拖放教程的主要知识点的总结。通过学习这些内容,开发者可以更好地理解和实现拖放功能,...