Flex 4 List Data Paging(Flex 4 List控件分页功能的实现)

掌控板玩板指南1:初识掌控板、扩展板、Mind+编辑器 掌控板、I/O扩展板入门 阅读详情

要想了解Flex 4 List控件的分页功能(paging)的实现,必须先理解Flex 4中滚动机制的实现原理,可以参考我上次介绍的Flex 4中的Scrolling和viewports机制这篇文章。下面从Spike 的代码开始介绍List控件分页功能(paging)的实现:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               xmlns:local="*" creationComplete="init()"
               height="100%" width="100%">
   
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;
            [Bindable] public var totalPages:Number;
            [Bindable] public var currentPage:Number = 1;
           
            [Embed(source='assets/backpack.jpg')]
            [Bindable]
            public var backpackCls:Class;
           
            [Embed(source='assets/boots.jpg')]
            [Bindable]
            public var bootsCls:Class;
           
            [Embed(source='assets/compass.jpg')]
            [Bindable]
            public var compassCls:Class;
           
            [Embed(source='assets/goggles.jpg')]
            [Bindable]
            public var gogglesCls:Class;
           
            [Embed(source='assets/helmet.jpg')]
            [Bindable]
            public var helmetCls:Class;
           
            public function prevPageHandler():void {
                if(currentPage == 1) return ;
                currentPage--;
                //上一页
                list.scroller.verticalScrollBar.changeValueByPage(false);
            }
           
            public function nextPageHandler():void {
                if(currentPage == totalPages) return;
                currentPage++;
                //下一页
                list.scroller.verticalScrollBar.changeValueByPage(true);
            }
           
            //设置list控件的滚动控件的样式
            public function init():void {
                //关掉滚动控件的垂直和水平滚动条
                list.scroller.setStyle('horizontalScrollPolicy', 'off');
                list.scroller.setStyle('verticalScrollPolicy', 'off');
                //设置滚动控件的垂直滚动条的滚动样式
                list.scroller.verticalScrollBar.setStyle('smoothScrolling', true);//设置为平滑滚动
                list.scroller.verticalScrollBar.setStyle('repeatInterval', 500);//设置滚动到指定点的经过的时间
                totalPages = Math.ceil(list.scroller.viewport.contentHeight/list.scroller.verticalScrollBar.pageSize);
            }
           
        ]]>
    </fx:Script>
    <s:VGroup x="10" y="5" height="100%" width="100%">
        <s:Label text="Page {currentPage} of {totalPages}"/>
        <s:HGroup>
            <s:VGroup>
                <s:Button id="prev" label="Prev" click="prevPageHandler()"/>
                <s:Button id="next" label="Next" click="nextPageHandler()"/>
            </s:VGroup>
            <s:List id="list" width="400" height="362">
                <s:dataProvider>
                    <s:ArrayCollection>
                        <fx:Object name="Backpack" photo="{backpackCls}"/>
                        <fx:Object name="Boots" photo="{bootsCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Helmet" photo="{helmetCls}"/>
                        <fx:Object name="Backpack" photo="{backpackCls}"/>
                        <fx:Object name="Boots" photo="{bootsCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Backpack" photo="{backpackCls}"/>
                        <fx:Object name="Boots" photo="{bootsCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Helmet" photo="{helmetCls}"/>
                        <fx:Object name="Backpack" photo="{backpackCls}"/>
                        <fx:Object name="Boots" photo="{bootsCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Helmet" photo="{helmetCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Helmet" photo="{helmetCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Helmet" photo="{helmetCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                        <fx:Object name="Goggles" photo="{gogglesCls}"/>
                        <fx:Object name="Backpack" photo="{backpackCls}"/>
                        <fx:Object name="Boots" photo="{bootsCls}"/>
                        <fx:Object name="Compass" photo="{compassCls}"/>
                    </s:ArrayCollection>
                </s:dataProvider>
                <s:layout>
                    <s:TileLayout horizontalGap="0" verticalGap="0" requestedColumnCount="3"
                                  columnWidth="120" rowHeight="120"/>
                </s:layout>
                <s:itemRenderer>
                    <fx:Component>
                        <local:PictureItemRenderer />
                    </fx:Component>
                </s:itemRenderer>
            </s:List>
        </s:HGroup>

    </s:VGroup>
</s:Application>

   Flex 4中List控件在皮肤中定义了Scroller控件,Scroller 组件显示一个称为视域的单个可滚动组件,以及水平滚动条和垂直滚动条。在上面代码中通过设置List的scroller的 horizontalScrollPolicy和verticalScrollPolicy样式,关掉了scroller的水平和垂直滚动条。最后通过 scroller的verticalScrollerBar的changeValueByPage()方法来控制显示下一页或上一页。这里将List控件 的高度设为362,而不是刚好显示三行图片的高度360。至于为什么要高两个像素,目前还没有完全弄清楚,也许是边框或间隔什么的占的空间。总页数是通过 scroller中的内容高度除以scroller的垂直页面大小(高度)计算出来的,这样就基本实现了List的分页功能,是不是很简单,那就赶快动手 试试吧。至于上面提到的高度问题,还望高手指点指点。

Clawdbot安装教程:从零开始到接入飞书 这几天,Clawdbot把整个科技圈都刷屏了。就是这个胖逼小龙虾🦞。不过现在改名叫Moltbot了。原因很简单:被Anthropic告了。Anthropic觉得Clawdbot这名字太像Claude Code的延伸产品,要求改名。真的,Anthropic你这家伙…更离谱的是,因为Clawdbot太火,Mac Mini都被抢断货了。无数人为了用它,疯狂买Mac Mini。我刚打开美团外卖,发现居然没货了??? 阅读详情

相关推荐

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2901

flex控件list

1.List控件简介 该控件主要用于“竖向显示单列表数据项”。如果数据项过多,可以出现一个垂直滚动条。 继承关系如下: List Inheritance ListBase Inheritance ScrollControlBase Inheritance UIComponent Inheritance FlexSprite Inheritance Sprite 子类: FileSystemList, Menu, Tree 2.List属性与事件 名称

rocdream的专栏 2486

【HSPiP应用指南】从理论到实践:如何利用汉森溶解度参数优化配方设计

本文深入解析了汉森溶解度参数(HSP)理论及其在配方设计中的核心价值,并详细介绍了如何利用HSPiP软件工具从理论走向实践。文章通过匹配溶解度参数、计算汉森距离(Ra),系统阐述了如何解决溶剂选择、颜料分散稳定性及扩散行为预测等关键问题,并结合界面气相色谱(IGC)等实验方法提升预测精度,旨在帮助配方师实现配方设计的可视化、可量化与高效优化。

weixin_29305313的博客 1646

Flex 数字分页组件

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" creationComplete="initView()"

spyiu的专栏 1174

医疗影像处理实战:如何用Slicer和Mimics将.nii.gz文件转为.ply格式(附避坑指南)

本文详细介绍了利用3D Slicer和Materialise Mimics软件,将医学影像中常见的.nii.gz格式文件转换为通用三维网格.ply格式的完整实战流程。文章重点分享了从数据分割、DICOM序列导出到高质量网格生成的核心步骤与关键参数设置,并提供了针对常见问题的避坑指南,旨在帮助医学影像研究者和工程师高效完成从体数据到三维模型的关键转换。

weixin_28304023的博客 103

贝塞尔曲线在机器人路径平滑中的实战应用与优化

本文深入探讨了贝塞尔曲线算法在机器人路径平滑中的核心应用。通过对比G1CBS与G2CBS两种方法,详细阐述了如何实现从切线连续到曲率连续的平滑优化,以满足不同机器人对运动平稳性和效率的需求,并提供了完整的Python代码实现与关键参数调优指南。

weixin_29051811的博客 307

分页查询数据类PagingData

分页查询数据类 public class PagingData&lt;T&gt; implements Serializable { // 构造初始化大小 public ModelTest() { list = new ArrayList&lt;T&gt;(); total= 0; } public ModelTest(Lis...

qiaziliping的博客 2219

爬虫不宕机!2026自愈式爬虫开发(Python+AI自动应对页面改版)

传统爬虫最大的痛点是"页面一改就宕机":前端布局调整、CSS选择器失效、数据结构变化,都会导致爬虫瘫痪,需要人工逐行修改代码。2026年,基于AI的自愈式爬虫成为行业标配:通过大模型自动识别页面结构变化、适配新的元素定位规则、修复数据提取逻辑,实现"页面改版不宕机,AI自动自愈"的企业级效果。本文从零讲解如何用Python+AI构建自愈式爬虫,聚焦页面改版自适应、故障自动修复、规则动态更新三大核心能力,附带可直接落地的生产级代码。问题场景解决方案LLM生成规则格式错误。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1215

Flex 中List控件的使用,绑定XML!

  效果图:      Flex代码如下: flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="initApp(event)"> source="http://localhost:8080/Flex/servlet/Se...

idnyg86v 183

代谢组数据分析(十九):随机森林构建代谢组预后模型

建立胃癌(GC)预后模型时,从队列3中的181名患者中,使用右删失结果数据进行了随机分层抽样,分为训练数据集(n = 121)和测试数据集(n = 60)。训练了一个包含1000棵树的随机生存森林(RSF)模型,根据它们基于排列的特征重要性来选择突出的特征。通过再次训练随机生存模型,并选取28种代谢物,建立了显示出色预测能力(AUROC = 0.832,95% CI:0.697-0.951)的最佳模型,用于预测测试数据集中GC患者的生存结果。

专注生信领域 1713

【即插即用模块】注意力篇 | ECCV 2024 | DPB:高低频动态分离+双提示融合,PSNR直冲40+!

本文提出了一种基于频率提示的图像恢复方法FPro,通过动态滤波器分离输入特征的高低频分量,并采用双提示块(DPB)进行频域专属提示生成与调制。DPB包含低频提示调制器(LPM)和高频提示调制器(HPM),分别处理不同频段信号,通过生成提示组件并融合解码器特征来优化恢复效果。实验表明,该方法在U型结构中表现优异,尤其适用于分割、底层视觉和多模态任务。模块通过动态无监督频率分离、频域专属提示生成和适配性融合机制,有效解决了传统方法对频域信息关注不足的问题,显著提升了图像恢复质量。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 147

Flex 开发学习笔记4 - 应用分页列表组件

结合[url="http://lib.iteye.com/blog/202385"]Flex 开发学习笔记3[/url]中的分页列表组件作了个demo,先传上去,供大家研究所用。。。 部分列表代码: [code="xml"] ...... public function showUserInfo() : void{ Alert.show("name:" +myD...

wenzi_li的专栏 213

【零基础入门unity游戏开发——unity通用篇30】Resources资源加载(基于unity6开发介绍)

Resources资源加载(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4116

微软技术周报 · 2026-08-11~2026-08-18

微软本周技术动态聚焦两大方向:AI体验整合与安全更新。AI方面,Copilot统一入口copilot.cloud.microsoft上线,Foundry Agent框架GA,MAI模型家族完成5线整合;开发者工具上,C# 14正式支持扩展成员、field关键字等特性,.NET 11 Preview 7优化异步分层编译和WASM支持。安全侧发布8月补丁日,修复421个CVE(含1个Lazarus组织利用的零日漏洞)。其他亮点包括VS Code接入MAI-Voice、Power Platform现代控件GA、T

海盗Sharp的博客 830

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Flex 4 List控件分页功能的实现

[code="java"]要想了解Flex 4 List控件的分页功能(paging)的实现,必须先理解Flex 4中滚动机制的实现原理,可以参考我上次介绍的Flex 4中的Scrolling和viewports机制这篇文章。下面从Spike 的代码开始介绍List控件分页功能(paging)的实现: ...

上善若水,浮生如茶 174

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Flex 可编辑的 Spark List 组件

<s:List id="chapterList" width="100%" height="100%" textAlign="center" dataProvider="{m_chapterAc}" labelField="chaptername" itemRenderer="notion.touch.view.main.ebookeditor.EditorList">    n

泛中游 1281

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Layabox 实现 PageView 翻页

Layabox 中没有 PageView这个组件,cocos creater中有,但是我们可以轻松地使用 List来实现PageView功能。 具体方式是计算出滚动后要停在所在的Cell的索引值,使用通过 List的tweenTo方法来滚动到相应位置。 先看下面的效果 下面是代码: package { import ui.PageViewTestUI; import...

bingheliefeng的专栏 1928

LayaAir 实现用获取本地JSON数据资源并循环列出

先定义一个json文件 内容略 放到资源文件夹中 /**人物选择资源数据 */ public static CHOOSE_CHARACTER_DATA:string = "data/choose_character.json"; assets.push({ url: ResourceManager.CHOOSE_CHARACTER_DATA, type: Laya.Loa

6687

Flex4.0 Spark List控件添加新Item自动滚动到底部

List 组件和DataGrid 组件不大一样,DataGrid组件本身就支持滚动到最下发并选中,在MX中,List也支持scrollToIndex()方法,但是Spark 的 List中,这个功能就有点复杂了。 一开始我注意到一个属性ensureIndexIsVisible,并且找到了Demo点击打开链接;但是在运用到我自己的项目中时,会出现一些状况导致list不下滑到最新的项目中(已选中最下

DamianZhou的专栏 1571

Flex4自定义分页组件

最近项目需要 需要写个分页组件,我这人比较懒 一般写出来之后 就记下来供以后粘贴复制了 哈哈,希望大家学习的时候不要这样搞啊下面贴出代码PagingBar.mxml <mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" x

JavaMan 3040

Flex List组件的使用

 这次我来说明一下List组件的使用,主要是当multipleSelection的属性设为"true"的时候的技巧。  1.选择了多项条目后数据的读取,关键代码如下:  function getSelectedItems()  {      var selectItems:Array = state.selectedItems;      var iCount:Number = s

qiaozhangchi的专栏 3725

LayaBox -- List组件的使用

本节我们使用LayaBox 自带List组件实现了一个排行榜界面,由于List组件限制很多,我们下篇自己实现一个类似Unity ScrollView的效果。list滑动效果如下: 排行榜里面的数据,头像等都是随便写上去的,而且分数也没有实现从高到低的排序,我们现在只是做出上图的效果。 一、UI效果制作 a. 创建一个View类型的UI页面,RankList.ui。 b. 制作返回按钮和上面...

阳仔博客 1万+

Flex4 DataGrid分页机制例析

首先要声明DataGrid控件 如下所示: 然后加上一些上一页,下一页,第一页,最后一页等跳转按钮 如下所示: 0?(currentPage+1):0)+'页/共'+totalPage+'页'+' 共'+(acAllData!=null?acAllData.length:0)+'条记录'}" fontSize="12"/>

haha_mingg的专栏 2244
上一篇: Flex 4中的Scrolling和viewports机制
下一篇: Flex组件的一些怪问题
flexrhythm
博客等级 码龄17年 4粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值