`

Flex 控制光标

    博客分类:
  • Flex
阅读更多

控制光标


使用 Adobe® Flex™ 光标

管理器可以控制 Flex 应用程序中的光标图像。 例如, 如果应用程序执行的处理需要用户等待, 直到处理完成为止, 则可以将光标更改为某个自定义的光标图像, 比如沙漏, 以使它反映该等待期。

您还可以更改光标以向用户提供反馈, 指示用户可以执行的操作。 例如, 您可以使用一个光标图像来指示用户输入被启用, 而使用另一个光标图像来指示输入被禁用。

CursorManager 类控制一个光标优先顺序列表, 在其中具有最高优先级的光标当前是可见的。 如果光标列表包含具有相同优先级的多个光标, 则光标管理器会显示最近创建的光标。

使用默认的忙光标

Flex 定义了一个默认的忙光标, 可用来指示应用程序正在处理, 且在应用程序对用户输入作出响应之前, 用户应等待, 直到处理完成。 默认的忙光标是一个动画时钟。

可以使用以下几种方式来控制忙光标:

可以使用 CursorManager 方法来设置和删除忙光标。 
可以使用 SWFLoader、WebService、HttpService 和 RemoteObject 类的 showBusyCursor 属性自动显示忙光标。 
下面的示例使用 CursorManager 类的静态 setBusyCursor() 和 removeBusyCursor() 方法, 根据切换按钮的状态显示和隐藏默认的 Flex 忙光标。

示例


<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="src/CursorDefaultBusy/index.html" width="400" height="160" > <mx:Script> <![CDATA[ import mx.controls.Button; import mx.managers.CursorManager; import flash.events.*; private const ON_MESSAGE:String = "Busy Cursor ON"; private const OFF_MESSAGE:String = "Busy Cursor OFF"; private function busyCursorButtonHandler(event:MouseEvent):void { var toggleButton:Button = event.target as Button; if (toggleButton.selected) { CursorManager.setBusyCursor(); toggleButton.label = ON_MESSAGE; } else { CursorManager.removeBusyCursor(); toggleButton.label = OFF_MESSAGE; } } ]]> </mx:Script> <mx:Panel paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10" horizontalAlign="center" verticalAlign="middle" title="Default busy cursor" > <!--Toggle button turns default busy cursor on and off. --> <mx:Button label="{OFF_MESSAGE}" toggle="true" click="busyCursorButtonHandler(event);" /> <mx:Text text="Click the button to display or hide the busy cursor."/> </mx:Panel> </mx:Application>

结果

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

使用自定义光标

可以使用 JPEG、GIF、PNG 或 SVG 图像, Sprite 对象或 SWF 文件作为光标图像。

若要使用光标管理器, 您将 mx.managers.CursorManager 类导入到应用程序中, 然后引用其属性和方法。

下面的示例嵌入一个在 Adobe Flash 中创建的沙漏的 SWF 动画, 并将它用作一个自定义光标。 在该示例中, 创建自定义光标的方法是, 调用 CursorManager 类的 setCursor() 静态方法, 然后将它传送给对您希望用作自定义光标的嵌入资源的类的引用。 可以通过调用 CursorManager 类的 removeCursor() 静态方法并将它传送给 CursorManager 类的 currentCursorID 静态属性来删除活动的自定义光标。

示例


<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="src/CursorCustom/index.html" width="400" height="160" > <mx:Script> <![CDATA[ import mx.controls.Button; import mx.managers.CursorManager; import flash.events.*; // Embed the SWF that will be used as  // the custom cursor.  [Embed(source="assets/hourglass.swf")] public var HourGlassAnimation:Class; private const ON_MESSAGE:String = "Custom Cursor ON"; private const OFF_MESSAGE:String = "Custom Cursor OFF"; private function busyCursorButtonHandler(event:MouseEvent):void { var toggleButton:Button = event.target as Button; if (toggleButton.selected) { // The setCursor() method returns a numeric ID for  // the cursor being set. You can store and use this  // ID later in a removeCursor() call, or, you can  // use the static currentCursorID property of the  // CursorManager class to achieve the same result.  CursorManager.setCursor(HourGlassAnimation); toggleButton.label = ON_MESSAGE; } else { CursorManager.removeCursor(CursorManager.currentCursorID); toggleButton.label = OFF_MESSAGE; } } ]]> </mx:Script> <mx:Panel paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10" horizontalAlign="center" verticalAlign="middle" title="自定义光标" > <!--Toggle button turns the custom cursor on and off.--> <mx:Button label="{OFF_MESSAGE}" toggle="true" click="busyCursorButtonHandler(event);" /> <mx:Text text="Click the button to display or hide the custom cursor."/> </mx:Panel> </mx:Application>


结果

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

分享到:
评论

相关推荐

    flex 控制鼠标移动的例子

    在Flex这个强大的基于ActionScript 3.0的开发框架中,控制鼠标移动是实现交互式应用的一个重要功能。本文将详细讲解如何在Flex项目中实现鼠标移动事件的监听与处理,以及相关的编程技巧。 首先,我们需要理解Flex中...

    FLEX实现鼠标滑过图片放大效果。

    当用户将鼠标光标悬停在图片上时,图片会放大,以便用户可以更清楚地查看细节,而当鼠标移开时,图片则恢复原大小。这种效果在Windows 7操作系统中被广泛采用,因此被称为“WIN7效果”。 实现这一效果的关键在于...

    【原创】flex控制flash元件

    标题中的“【原创】flex控制flash元件”表明这篇内容是关于使用Adobe Flex来操纵Flash元件的原创技术分享。Flex是一个开源的、基于MXML和ActionScript的框架,用于构建富互联网应用程序(RIAs)。它允许开发者创建...

    flex 鼠标进入显示提示信息

    在Flex开发中,有时我们需要为用户界面添加交互性,例如当鼠标悬停在某个元素上时显示相关的提示信息。这个场景在"flex 鼠标进入显示提示信息"的标题和描述中被提及,它涉及到如何创建一个动态的提示框,跟随鼠标的...

    flex 光于光标管理

    - **控制光标图像**:可以更改光标为不同的图像,以反映应用的状态或提供视觉反馈。 - **指示处理状态**:在长时间处理过程中,可以通过改变光标(如显示等待光标)来告诉用户处理正在进行中。 - **行为指示**:通过...

    flex实现鼠标滚动放大缩小(以鼠标的位置为中心放大缩小)

    缩放因子可以是鼠标滚动的增量,通常会乘以一个预设的缩放比例来控制缩放速度: ```as function onScroll(event:MouseEvent):void { var scaleFactor:Number = event.delta / 120; // 假设120是滚动一步的默认值 ...

    flex 窗口拖动与尺寸改变

    在Flex中,你可以通过MXML或者ActionScript来定义和控制这些属性。 1. **窗口拖动**:在Flex中,`MX:Window`组件默认具有拖动功能。当用户在窗口标题栏上按下鼠标左键并移动时,窗口会随着鼠标的移动而移动。这个...

    flex放大镜、flex滤镜、flex图像放大、局部图像放大

    在网页设计中,"flex放大镜"通常是指使用CSS3的Flexbox布局模型来实现的一种交互式功能,允许用户通过鼠标悬停或触摸操作来放大页面上的特定图像区域,类似于实际生活中的放大镜。这种效果可以提高用户的浏览体验,...

    flex_video_帮助

    这两个属性分别表示鼠标在 Flex Video 组件上的 x 和 y 坐标位置。 ##### 11. name: String 该属性表示 Flex Video 组件的名称。 ##### 12. parent: DisplayObjectContainer 此属性表示 Flex Video 组件所在的父...

    flex缩放时鼠标周边效果

    通过设置`display: flex`,可以开启一个容器的flex布局模式,然后控制子元素的排列、对齐和分配空间。 2. **鼠标事件与缩放**: 在实现"flex缩放时鼠标周边效果"时,主要涉及JavaScript和CSS的配合。通常,我们...

    FLex 左右滑动图片墙

    1. **布局管理器**:在Flex中,布局管理器是控制组件大小和位置的关键。在这个例子中,我们可能会使用`HorizontalLayout`或自定义的布局,以便使图片在水平方向上连续排列,从而实现滑动效果。 2. **DisplayObject...

    FLEX 鼠标移上去图片放大,图片放大的倍数

    根据给定的信息,本文将详细解释如何在Flex中实现鼠标悬停时图片放大效果,并对放大倍数进行控制。此示例代码展示了如何利用Flex框架中的事件处理和属性设置来达到这一目的。 ### 一、Flex简介 Flex是一种用于开发...

    flex实现旋转效果

    在本文中,我们将深入探讨如何使用Flex来实现一个图片旋转效果,这在产品展示或交互式界面设计中非常常见。Flex是一种强大的、基于XML的框架,用于构建富互联网应用程序(RIA),尤其适用于创建动态、响应式的用户...

    测试flex应用程序

    将Selenium与sfapi结合使用,我们可以在JavaScript层面控制Flex应用的控件,从而实现自动化测试。 在描述中提到,sfapi能够"expose Flex应用程序的控件",这意味着它可以将Flex界面中的按钮、文本框、列表等元素...

    Flex超炫 悬浮面板

    5. **布局管理**:在Flex中,使用布局管理器可以帮助我们更好地控制组件的排列和大小。例如,我们可以使用HorizontalLayout或VerticalLayout让子组件沿水平或垂直方向排列,以适应悬浮面板的动态变化。 6. **交互性...

    Flex详细文档.pdf

    - **CSS**: CSS用于控制Flex应用程序中的样式和布局,可以通过外部.css文件或者内联样式来应用。 ##### 2. MXML与ActionScript的使用 - **MXML注释**: MXML中的注释使用`&lt;!-- 注释内容 --&gt;`的形式。 - **...

    flex4.6文档学习资料

    2. **事件处理**:Flex中的事件系统允许开发者对用户操作做出响应,从简单的按钮点击到复杂的鼠标拖动事件,都能通过事件监听器进行处理。 3. **SDK配置**:正确配置Flex SDK对于开发环境的搭建至关重要,包括版本...

    flex图片放大缩小

    4. **伸缩性(Flexibility)**: 子元素的可伸缩性由`flex-grow`, `flex-shrink`和`flex-basis`属性控制,它们共同决定了子元素在主轴上的大小。 要实现图片的放大和缩小,我们需要结合JavaScript或CSS的transform...

    应用flash制作flex样式

    它允许开发者通过CSS样式来控制组件的颜色、大小、字体、布局等属性。在Flex项目中,样式可以全局应用,也可以针对特定组件进行定制。 使用Flash制作Flex样式的优势在于Flash的强大图形编辑功能。Flash提供了丰富的...

Global site tag (gtag.js) - Google Analytics