flex4的Scroller滚动速度的控制

【LVGL-Flex布局和Grid布局】 主轴的定义描述将子类们排成一行并不换行将子类们排成一行并换行将子类们排成一行并不换行且顺序相反将子类们排成一行并换行且顺序相反将子类们排成一列并不换行将子类们排成一列并换行将子类们排成一列并不换行且顺序相反将子类们排成一列并换行且顺序相反。 阅读详情

Scroller的viewport为Group时,滚动鼠标滑轮,Scroller滚动的速度很慢,Scroller的viewport为VGroup时, 滚动鼠标滑轮,Scroller滚动的速度很快,有没有什么办法控制 Scroller的滚动速度呢?解决方案如下:
1.新建VScrollBar的子类
MyVScrollerBar.as
package
{

import flash.events.MouseEvent;



import mx.core.mx_internal;



import spark.components.VScrollBar;

import spark.core.IViewport;



use namespace mx_internal;



[Style(name="movementDelta", inherit="yes", type="number", format="length")]

public class MyVScrollerBar extends VScrollBar

{

public function MyVScrollerBar()

{

setStyle("movementDelta", 30);

}



override mx_internal function mouseWheelHandler(event:MouseEvent):void

{

var viewport:IViewport = this.viewport;

if ( viewport == null || !viewport.visible || event.isDefaultPrevented() )

return;



var direction:int = (event.delta > 0) ? -1 : (event.delta < 0) ? 1 : 0;

var movement:Number = getStyle("movementDelta");

viewport.verticalScrollPosition += movement * direction;

event.preventDefault();

}



}
}

2.新建外观类

MyVScrollerBarSkin.mxml
< ?xml version="1.0" encoding="utf-8"?>
< s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" 

xmlns:s="library://ns.adobe.com/flex/spark" 

xmlns:local="*">

< fx:Metadata>

< ![CDATA[ 

[HostComponent("spark.components.Scroller")]

]]>

< /fx:Metadata> 



< fx:Script>

< ![CDATA[ 



override public function beginHighlightBitmapCapture() : Boolean

{

var needUpdate:Boolean = super.beginHighlightBitmapCapture();

graphics.beginFill(0);

graphics.drawRect(0, 0, width, height);

graphics.endFill();



return needUpdate;

}



override public function endHighlightBitmapCapture() : Boolean

{

var needUpdate:Boolean = super.endHighlightBitmapCapture();

graphics.clear();

return needUpdate;

}

]]>

< /fx:Script>

< local:MyVScrollerBar id="verticalScrollBar" visible="false" />

< s:HScrollBar id="horizontalScrollBar" visible="false" />




< /s:SparkSkin>


3.将Scroller的skinClass设为刚刚新建的外观类MyVScrollerBarSkin
< ?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">



< s:Scroller width="400" height="400" skinClass="MyVScrollerBarSkin">

< s:Group width="100%" height="100%">

< s:Rect width="100%" height="1200">

< s:fill>

< s:SolidColor color="0x338899"/>

< /s:fill>

< /s:Rect>

< /s:Group>

< /s:Scroller>
< /s:Application>

ok,困扰了两天的问题搞定。


通过研究,其实没有必要这么麻烦,
 以前的flex3的SDK直接设置一个步长就可以解决问题,而spark组建中的scroller组件把这个属性取消了,
 通过查找例子,发现都是转载的楼主的方法,这的确太麻烦了..
 
后来在一个国外网站搜到一个解决办法,
 每一个scroller都有一个mouseWheelChanging方法,当滚动鼠标中轮的时候调用,
 而后就可以在这个函数中进行判断,如下:
 我的滚动条id=mainScroller
 protected function mainScroller _mouseWheelChangingHandler(event:FlexMouseEvent):void
 {
         event.preventDefault();
         var modifier:int = 5;
         var delta:Number = Number(event.delta) * modifier;
         var viewport:IViewport = mainScroller.verticalScrollBar.viewport;
         var vPos:Number = viewport.verticalScrollPosition;
         var maximum:Number = mainScroller.verticalScrollBar.maximum;
                                 
        if (delta < 0) 
        {
                 mainScroller.verticalScrollBar.viewport.verticalScrollPosition =  Math.min(vPos - delta, maximum) ;        
        }
         else
         {
                 mainScroller.verticalScrollBar.viewport.verticalScrollPosition = Math.max(vPos - delta, 0);
         }
 
}
 



转载:http://bbs.9ria.com/thread-114341-1-1.html

Vue3无缝滚动插件实战:从原理到性能优化的完整指南 在Web前端开发中,列表数据展示是一个基础且高频的需求。其核心原理是通过CSS3动画或JavaScript定时器控制元素的位置变换,实现视觉上的连续移动。这项技术的核心价值在于提升信息展示的效率和用户体验的流畅度,广泛应用于后台管理系统、数据大屏、电商首页等需要动态展示实时信息的场景。通过封装底层实现,开发者可以快速构建出性能良好的无缝滚动效果,从而将精力聚焦于业务逻辑。本文以社区流行的`vue3-seamless-scroll`插件为例,深入剖析其实现机制,并结合`性能优化`和`动态数据`等热词,分享在V 阅读详情

相关推荐

前端开发进阶:从布局交互到AI赋能的全链路实战指南

前端开发是构建用户与数字世界交互界面的核心技术,其核心在于将设计转化为高效、可维护的代码。理解浏览器渲染机制、DOM操作原理及CSS布局模型是基础,这直接关系到页面性能与用户体验。在工程实践中,通过模块化、组件化提升代码复用性和可维护性具有重要技术价值,广泛应用于Web应用、移动端及跨平台开发。随着技术演进,前端与AI结合催生了智能UI、低代码平台等新场景。本文通过Flexbox/Grid布局抉择、事件委托优化、Vue/React状态管理等实战案例,深入探讨了前端工程化与性能监控方案,并分析了在AI浪潮下前

weixin_34319111的博客 301

flex 中实现自定义滚动

在应用中,很多都想实现flex的控件没有滚动 而是通过其他的按钮方式进行控件内容的滚动,这样实现的开始当然是要设置horizontalScrollPolicy="off" verticalScrollPolicy="off"了,然后通过container的horizontalScrollPosition 或verticalScrollPosition的加 减来实现内容左右、上下滚动。思路方法完全正

xiangwl527的专栏 572

前端性能优化实战:从诊断到落地的全链路攻坚

网页性能优化是现代Web开发的核心能力,本质是围绕加载速度、交互响应与视觉稳定性展开的系统工程。其底层原理涉及网络协议(HTTP/2、TCP握手、DNS解析)、浏览器渲染机制(FCP、TTI、CLS)及JavaScript运行时行为。技术价值在于直接提升用户留存、转化率与商业指标,已被Google、Amazon等验证为关键业务杠杆。典型应用场景覆盖电商首屏加速、SaaS仪表盘响应提效、内容平台跳出率控制等。本文聚焦真实生产环境中的可复现路径,融合Lighthouse诊断、WebPageTest网络分析与Ch

天下无双 531

【LVGL-滑动部件&进度条】

【代码】【LVGL-滑动部件】

sinat_23896491的博客 2153

前端100道八股文+50道场景题

闭包是指一个函数能够访问它外部函数作用域中的变量,即使外部函数已经执行完毕。形成闭包需要三个条件:函数嵌套、内部函数引用外部变量、外部函数返回内部函数。闭包的主要作用有三个:第一,实现数据私有化。比如可以用闭包创建私有变量,外部无法直接访问,只能通过特定方法操作。第二,模块化。可以用闭包封装代码,只暴露需要的接口。第三,函数柯里化和防抖节流等高级技巧都会用到闭包。闭包的缺点是可能造成内存泄漏。因为闭包引用的外部变量不会被垃圾回收,如果大量使用闭包且不及时清理,会占用过多内存。

weixin_50762268的博客 1409

企业级电商前端实战:从Servlet/JSP到Vue+Spring Boot全栈开发

Java Web开发是构建动态网站和Web应用的核心技术栈,其核心原理在于通过Servlet处理HTTP请求,JSP渲染视图,实现前后端数据交互。这项技术的价值在于能够高效地开发出功能完整、业务逻辑复杂的系统,尤其在电商、企业级应用等场景中广泛应用。随着技术演进,前后端分离架构已成为现代Web开发的主流模式,它通过RESTful API实现前后端解耦,提升了开发效率和系统可维护性。本文聚焦于电商系统这一典型应用场景,详细解析如何运用Vue.js、Spring Boot、Pinia状态管理等现代技术栈,从零构

weixin_30706691的博客 382

LVGL学习笔记 20 - 滚轮Roller

滚轮Roller实现的功能类似下拉列表,由lv_roller_create创建。

pq的博客 4535

LVGL---滚轮(lv_roller)

LVGL---滚轮(lv_roller)

weixin_42162924的博客 951

Vue3无缝滚动插件实战:从原理到配置优化全解析

在前端开发中,实现流畅的列表滚动展示是一个常见需求,尤其是在新闻列表、公告栏、股票行情等动态内容展示场景。其核心原理通常基于CSS3的transform和transition属性,结合requestAnimationFrame进行动画帧优化,以替代传统的setInterval方案,从而在性能上实现更平滑的渲染效果,特别是在移动端设备上。这种无缝循环滚动的技术价值在于,它能够消除内容滚动到末尾时的视觉跳跃,通过克隆数据形成无限循环的闭环,显著提升用户体验。在Vue3生态中,vue3-seamless-scro

weixin_30414305的博客 423

flex滚动条三种实现方式

flex三种实现滚动条方式,其实是两种,样式的以两种表现形式写出了。然后,自定了一个滚动条

机器人动力学与控制学习笔记(一)————机器人控制概述

一、概述 1、机器人控制的目的 对自由运动机器人来说,控制的目的是要控制机器人手端的位置和姿态(以后统一简称为位姿),即所谓位置控制问题。这时希望机器人手端所达到的位置称为期望位置或期望轨迹。期望轨迹可以在机器人任务空间中给出,也可以通过逆运动学关系转化为机器人关节空间中的期望轨迹。期望轨迹通常有两种形式:一种是一个固定位置(即固定点),另一种是一条随时间连续变化的轨迹。自由运动机器人位置控制的目的,是要使机器人手端从任意起始位置出发都能到达期望轨迹。当期望轨迹是固定点时的位置控制称为定...

冰与火的青春的博客 6882

基于HarmonyOS API 24,React Native鸿蒙跨平台相较于基础固定表头表格,该组件新增了冻结列的核心配置,左侧关键列(如产品名称、订单编号)的固定显示是提升数据可读性的核心需求

onSort?sortKey?onFilter?frozenKey?// 冻结列的标识列: boolean;// React Native实现// RN特定实现// 鸿蒙实现@Component// 鸿蒙特定实现FrozenLeftTableApp组件展示了构建企业级固定列表格组件的完整技术栈。通过分离渲染架构、双层滚动同步、灵活的配置系统和性能优化策略,实现了既美观又高效的表格组件。

2401_86113894的博客 222

TL3562/3568内核驱动移植实战:解决无锡沐创N500L-AM4网口异常问题

本文详细介绍了在TL3562/3568平台上移植无锡沐创N500L-AM4网卡驱动的实战经验,重点解决了第四个网口通讯异常问题。通过升级驱动版本至rnpgbe-0.2.3,生成关键头文件并正确配置内核,最终实现四个网口稳定工作。文章还提供了性能优化建议和避坑指南,为类似硬件驱动移植项目提供参考。

weixin_28273593的博客 180

现代前端移动端开发:从响应式到体验驱动的架构与性能优化

响应式设计是现代前端开发的基础概念,它通过媒体查询和流式布局实现跨设备适配。其核心原理在于根据视口尺寸动态调整样式,确保内容在不同屏幕上的可读性与可用性。这一技术的价值在于解决了多端一致性的基础问题,为构建统一用户体验提供了技术支撑。随着移动设备成为主流交互终端,应用场景从简单的布局适配,深化为对性能与原生级体验的极致追求。当前移动端开发的核心已转变为在性能与网络限制下,构建媲美原生应用的Web产品,这要求开发者掌握以体验为基石的架构设计,并深入性能优化与触屏交互细节。本文系统探讨了移动优先的设计原则、视口

adr5970的博客 380

AHRS互补滤波(Mahony)算法及开源代码

AHRS(Attitude and heading ref AHRS(Attitude and heading reference system,也就是航姿参考系统。在互补滤波算法中传感器主要采用了IMU(陀螺仪、加速度计)和磁力计。 AHRS的基本思想是,在载体没有平移运动的情况下,通过加速度感知重力分量,可以计算出载体的俯仰(Pitch)和横滚(Pitch);磁力计可以感知磁北方向,因此可以计算载体的磁北航向;而陀螺仪测量输出载体的旋转角速度,通过积分可以计算得到横滚、俯仰、航向增量,但由于陀螺输出值含

weixin_42918498的博客 3万+

STM32 FDCAN热插拔恢复机制与自动重发功能优化

本文深入分析了STM32 FDCAN在热插拔场景下触发bus-off状态导致通讯中断的根本原因,指出自动重发功能是问题关键。通过禁用自动重发、配置硬件自动恢复机制及优化总线参数,实现了FDCAN热插拔后的100%稳定恢复,为工业应用提供了可靠的CAN总线解决方案。

ice55的博客 686

CSS表格样式深度解析:从border-collapse到企业级数据表格实战

在Web前端开发中,表格(Table)是展示结构化数据的核心元素,尤其在后台管理系统、数据仪表盘等场景不可或缺。其样式控制涉及一套精密的层叠系统,核心在于理解`<table>`、`<tr>`、`<td>`、`<th>`四个标签的层级关系与样式继承原理。掌握`border-collapse`(边框合并)与`table-layout`(布局算法)等关键属性,能有效解决边框重叠、性能优化等工程问题。通过`position: sticky`实现粘性表头、利用`:nth-child()`创建斑马纹、结合`overfl

weixin_34387468的博客 465

别再硬啃理论了!用Simulink双脉冲实验,5分钟搞懂MOSFET二极管反向恢复

本文通过Simulink双脉冲实验仿真,帮助电力电子学习者快速理解MOSFET二极管反向恢复特性。文章详细介绍了实验搭建步骤、关键参数配置及波形解析,将抽象理论转化为可视波形,大幅提升学习效率。特别适合需要直观理解反向恢复过程的工程师和学生。

weixin_30918633的博客 955

深入解析Go To Dialog:从模糊匹配到LSP集成的工程实践

在软件开发中,模糊匹配(Fuzzy Matching)是一种处理用户模糊输入、提升搜索体验的核心技术。其原理在于通过前缀匹配、子序列匹配等算法,理解用户的模糊意图,快速定位目标。这项技术的价值在于能显著提升大型项目中的导航效率,是构建高效开发工具的关键。典型的应用场景包括代码编辑器中的符号跳转、文件管理器中的快速定位等。本文以Go To Dialog为例,深入探讨了如何结合Trie树、倒排索引等数据结构实现高性能的模糊匹配,并详细介绍了如何通过集成语言服务器协议(LSP)来构建支持代码符号跳转的智能搜索组件

weixin_34009794的博客 384

操作系統恐龍書第十版課後答案CH10

課後

apple_72111807的博客 4046

github创建账号第一步始终出错

github创建账号总结:第一次注册GitHub,填好用户名邮箱密码后进入下一步就卡在哪里,上面还提示Unable to verify your captcha response等,进入网址的解决办法以及下载其他的浏览器也无法解决,用手机浏览器抱着试一试的心态竟然成功了,分享给大家。手机下载谷歌浏览器,进入GitHub正常注册,能向下继续,邮箱验证完以后再用电脑登陆就ok啦

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 4376

深入解析二维空间顺序编号:从认知习惯到代码实现

在信息组织和界面设计中,顺序编号是基础且关键的概念,它直接关系到信息的可寻性和用户的操作效率。其核心原理源于人类的阅读习惯和视觉动线,即“阅读重力”,这决定了在大多数从左向右书写的环境中,默认采用“从上到下、从左到右”的顺序。这一原理在技术实现上体现为行主序的内存布局,是编程语言和数据处理中的常见模式。理解并正确应用这一顺序,对于提升软件的可访问性、确保数据处理准确性以及优化用户体验具有重要价值。其应用场景广泛,从UI/UX设计中的列表与网格布局,到前端开发中的DOM遍历与焦点管理,再到数据处理中的数组迭代

weixin_30784501的博客 401

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2453

HarmonyOS 6效果实现:getUIContext() 方法成为获取 UI 上下文、驱动动画的标准入口,替代了早期版本中直接调用全局 animateTo 的方式

基于HarmonyOS 6.1.1与HarmonyOS ArkTS API 24的云庄园虚拟农场经营应用开发全栈解析:从粒子飘落动画到七日收益柱状图可视化,多Tab导航与弹窗式CRUD架构深度剖析与最佳实践。

2501_92985290的博客 25

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

FreeMASTER 3.0嵌入式监控仪表盘开发:从ActiveX到JSON-RPC的现代化实践

在嵌入式系统开发中,实时数据监控与可视化是调试和优化系统性能的关键环节。其核心原理在于通过特定的通信协议,将微控制器(MCU)内部运行状态(如变量值、控制参数)传输至上位机进行展示与分析。这项技术的价值在于极大地提升了开发调试效率,并能构建直观的人机交互界面,广泛应用于电机控制、电源管理和物联网设备调试等场景。FreeMASTER作为NXP提供的强大工具,其开放的接口允许开发者利用现代Web技术构建定制化监控界面。本文聚焦于其通信接口的演进,深入对比了传统的同步阻塞式**ActiveX**接口与现代的异步非

501

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VUE2常见面试题

本文摘要: Vue相关技术核心概念解析 MVVM与MVC架构区别 MVC单向数据流,视图与控制器耦合 MVVM双向绑定,数据自动同步,解耦视图与模型 Vue核心特性 生命周期钩子函数执行顺序(8个阶段) 数据双向绑定原理(Object.defineProperty+发布订阅) 组件通信机制(父子props/emit、跨级provide/inject等) 虚拟DOM与diff算法优化渲染 计算属性与侦听器区别(缓存机制) 状态管理 Vuex工作流程(state/mutations/actions/getter

2301_76805327的博客 467

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Flex 页面空白或Error #2032: 流错误处理办法
下一篇: Use CallLater()方法
happyrabbit456
博客等级 码龄14年 117粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值