下面的例子中的scrollToIndex()方法向您展示了如何将滚动条滚动至特定的区域。
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2009/05/30/setting-the-vertical-scroll-position-on-a-spark-list-control-in-flex-4/ -->
<s:Application name="Spark_List_layout_VerticalLayout_verticalScrollPosition_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:controlBarContent>
<mx:Form styleName="plain">
<mx:FormItem label="verticalScrollPosition:">
<s:HSlider id="slider" />
</mx:FormItem>
</mx:Form>
</s:controlBarContent>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function list_creationCompleteHandler(evt:FlexEvent):void {
slider.maximum = list.dataGroup.contentHeight - list.height;
}
]]>
</fx:Script>
<s:List id="list"
horizontalCenter="0"
verticalCenter="0"
creationComplete="list_creationCompleteHandler(event);">
<s:layout>
<s:VerticalLayout horizontalAlign="justify"
requestedRowCount="4"
verticalScrollPosition="{slider.value}" />
</s:layout>
<s:dataProvider>
<s:ArrayList>
<fx:String>The</fx:String>
<fx:String>Quick</fx:String>
<fx:String>Brown</fx:String>
<fx:String>Fox</fx:String>
<fx:String>Jumps</fx:String>
<fx:String>Over</fx:String>
<fx:String>The</fx:String>
<fx:String>Lazy</fx:String>
<fx:String>Dog</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:List>
</s:Application>
下面的这个是自动滚动到List内容最下方:
<?xml version="1.0" encoding="utf-8"?>
<!-- shlei.iteye.com -->
<s:Application name="Spark_List_layout_VerticalLayout_verticalScrollPosition_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import flash.utils.clearTimeout;
import flash.utils.setTimeout;
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
private var ac:ArrayCollection=new ArrayCollection();
private var i:int=0;
[Bindable]
private var j:int;
protected function list_creationCompleteHandler(evt:FlexEvent):void {
add();
}
private function add():void{
var k:uint = setTimeout(add,1000);
i++;
ac.addItem(i);
/** 最主要的是下面这句,延迟获取List组件的内容高度最大值,否则拿不到内容高度最大值 **/
if(-5<one())callLater(one);
if(20==i)
clearTimeout(k);
}
private function one():int{
return j=list.dataGroup.contentHeight - list.height;
}
]]>
</fx:Script>
<s:List id="list"
horizontalCenter="0"
verticalCenter="0"
dataProvider="{ac}"
creationComplete="list_creationCompleteHandler(event);">
<s:layout>
<s:VerticalLayout horizontalAlign="justify"
requestedRowCount="4"
verticalScrollPosition="{j}" />
</s:layout>
</s:List>
</s:Application>
参考 http://blog.flexexamples.com/2007/11/08/scrolling-to-a-specific-index-in-a-flex-list-control/
by Peter Dehaan and others
分享到:
相关推荐
在Flex4中,`Menu`和`List`是两种重要的组件,它们被广泛用于构建用户界面,提供下拉菜单和列表展示数据的功能。本实例深入探讨了如何在Flex4环境中有效地利用这两个组件。 首先,`Menu`组件在Flex中常用于创建下拉...
1. **Flex4 List组件**:List是Flex中的一个基础组件,用于展示一组可滚动的数据项。它支持多种样式和行为定制,包括选择项、分组、滚动效果等。在Flex4.x中,List通过数据提供者(dataProvider)来获取要显示的数据...
在Flex4中,List组件是用于展示数据列表的常用组件,它可以显示一组可滚动的数据项。在实际应用中,我们经常需要实现对列表中的所有项进行全选或反选的操作,以便用户能快速选择或取消选择全部内容。本文将详细探讨...
Flex中的`Form`组件用于创建数据输入表单,它能够自动布局和调整其子控件的位置,以适应不同的屏幕尺寸。`Form`组件支持多种数据绑定技术,使得数据收集和验证过程变得更加简单和高效。 #### Flex内建的UI控件 ...
在Flex中,`List`是显示可滚动项目列表的标准组件。它可以用来展示大量数据,并通过数据提供者(DataProvider)与数据模型绑定,实现数据的动态更新。在`FLEXList`项目中,描述中的"list展示"可能指的是一个定制化的...
在Flex手机项目开发中,创建自定义的List组件ItemRenderer是一项常见的需求,目的是为了提供更加丰富和个性化的显示效果。本文将深入探讨如何利用IconItemRenderer来实现这一目标,同时结合具体的实例,介绍两种不同...
总的来说,"FLEX带复选框LIST"是一个展示了如何在Flex4中结合List组件和自定义项渲染器实现多选功能的实例。通过理解这个例子,开发者可以更好地掌握Flex中的数据绑定、事件处理以及组件定制,从而提高其在构建富...
2. **List组件**:在Flex中,List组件用于展示可滚动的数据列表,通常与数据提供器绑定,可以从数据源中动态加载数据。开发者可以自定义List的外观和行为,例如通过设置itemRenderer来自定义每个列表项的显示。 3. ...
4. **基于列表的组件**:Flex提供了多种基于列表的组件,如List、Tree、Menu、TileList、HorizontalList等。这些组件用于以不同的视觉形式展示一组集合的数据。例如,List以垂直列的形式展示数据,而HorizontalList...
在Flex中,数据通常与UI组件进行绑定,使得当数据源发生变化时,图表会自动更新。这可以通过`<mx:DataGrid>`或`<s:List>`等组件实现数据的显示,并与曲线图组件进行联动。 8. **事件处理**: Flex允许添加事件...
本篇文章将深入探讨如何在Flex中创建一个允许用户选择特定文件类型的上传组件,并且包含滚动条功能。 首先,我们要理解`FileUpload.mxml`这个文件名,这通常表示这是一个MXML文件,它是Flex应用程序的基本构建块。...
在Flex4中,我们可以利用事件监听和自定义组件来实现这一功能。首先,我们需要为`DataGrid`的`cellClick`事件添加监听器。`cellClick`事件会在用户点击网格中的单元格时触发。在监听器中,我们可以获取到被点击的...
List组件用于显示列表数据,可以是单选或多选。 ##### 10. **NumericStepper** NumericStepper组件允许用户通过按钮来增加或减少数值,非常适合数值输入的场景。 ##### 11. **ProgressBar** ProgressBar组件显示...
2. **Flex组件库**:Flex提供了一系列预先构建的UI组件,如Button、Label、List等,开发者可以快速构建用户界面。在旅游系统中,可能会用到Button来执行操作,如查询、预订;List展示旅游产品或目的地列表;...
在Flex编程中,TileList控件是一个非常有用的组件,它允许开发者以网格布局显示数据集中的项。在本例“Flex TileList图片展示(相册)”中,我们看到TileList控件被巧妙地用于创建一个类似QQ相册的图片浏览体验。...
### Flex UI组件使用全集详解 #### 概述 本文档是基于阿树对Adobe Flex UI组件库的全面整理,并结合Adobe主页上提供的各种组件代码示例进行深度解析。Flex是一种用于构建高度交互式的Web应用的框架,尤其适用于创建...
4. **组件库**:Flex提供了一套丰富的预定义组件,如Button、Canvas、Image等,可以快速构建用户界面。在相册中,可能使用了List或DataGrid来展示缩略图,以及Image组件显示全尺寸图片。 5. **数据绑定**:Flex支持...
Flex 渲染器是Flex框架中的一个重要特性,主要用于在列表控件如List、DataGrid、Tree等中定制数据显示。在Flex中,渲染器允许开发者自定义列表中每一项的外观和行为,以此来提高用户体验和视觉吸引力。本系列将深入...
在Flex4中,ItemRenderer是一种强大的工具,用于自定义数据Grid、List或其他数据绑定组件中的项显示方式。本文将深入探讨如何使用Flex4创建一个ItemRenderer,以实现类似雅虎聊天界面的效果,并介绍相关的核心概念和...
6. **UIComponent类的使用**:UIComponent是Flex中最基本的UI组件基类,包含了创建自定义UI组件所需的基本功能。通常,在创建自定义组件时会重写其方法来实现特定的功能,例如重写 `commitProperties()` 方法来处理...