转自riameeting
原文地址http://www.riameeting.com/node/407
说起启动界面,相信读者都很熟悉,当一个软件体积很大,导致加载比较缓慢的时候,通常的做法是显示一个启动界面,告诉用户这个软件正在启动,这在很大程度上改善了用户体验,因为用户通常情况下忍受不了软件的加载速度不是因为你的软件加载慢,而是你没有显示一个界面出来通知用户,这会让用户心理上感觉时间很漫长,可能几秒钟用户都无法等待,而如果有实时的界面显示,几十秒都不是很大的问题,举个例子,Adobe的Photoshop大家可能用过或接触过,它的体积是很大的,如果没有启动界面,你就会感觉启动无法忍受,甚至会怀疑自己点击错误没有成功启动Photoshop而去多点击几下。所以说启动界面在大体积的软件加载过程中的作用是非常大的,也是我们在软件设计的阶段需要考虑到的一个重要的问题。
同理我们在开发AIR应用(注意AIR也是桌面应用)的时候,也可以引入启动界面的机制。下面我们来看看如何在AIR开发中去实现这个功能。
首先需要先准备一张位图,这个图片用于你的程序加载完毕并显示之前,先显示给用户一个界面,可以是你的应用的Logo之类的,你可以用Photoshop或其它的位图处理工具来制作这个图片,在这个例子中,要使用的位图如下图所示:
下面让我们来看看实现的过程。首先我已经在Flex Builder中创建了一个AIR项目,并且我的主程序文件是基于“WindowedApplication”组件的,并且其它的弹出窗口是基于Window或其它的可弹出的绘图组件。window组件使用是非常方便的,所以这里我也将使用window作为我的启动界面的容器,并且需要设置的地方是去除这个Window的边框和系统样式,只保留要显示的那张位图。要删除系统边框和样式,你需要修改应用程序的配置XML并且更改以下的部分:
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>false</visible>
注意通过这样设置之后,系统默认将显示Flex的默认皮肤。在主程序文件的窗体中,这个样式非常酷,但是在启动界面的窗体中,我们还是需要把它的边框删除掉。你可以通过下面的设置来隐藏边框和皮肤:
type="lightweight"
showFlexChrome="false"
transparent="true"
visible="false"
然后我们希望启动界面的位置要处于屏幕的中央,可以通过更改这个窗体的坐标来实现,注意窗体跟Flash里其它的显示对象类似,也有自己的坐标定位(x,y),而计算它的位置我们又需要知道屏幕的尺寸,屏幕的尺寸我们可以通过Screen类来获取,代码示例如下:
private function init():void {
this.nativeWindow.x = Screen.mainScreen.visibleBounds.width/2 - this.width/2;
this.nativeWindow.y = Screen.mainScreen.visibleBounds.height/2 - this.height/2;
this.nativeWindow.visible = true;
}
在显示启动界面的同时,我们希望主界面是隐藏的,只是设置visible是false是不够的,我们同时给它设置坐标值是一个很大的负值,比如-2000,然后我们再添加启动界面到显示列表。
<x>-2000</x>
<y>-2000</y>
mainWindow = this.stage.nativeWindow;
mainWindow.visible = false;
splashScreen = new Splash_Window();
splashScreen.open();
在这个应用里,我只是简单的添加了一个Timer(计时器)来控制启动界面和主界面的显示/隐藏,实际上你在开发的时候可以根据具体的真实情况(比如数据的加载情况),来实时的控制这个过程。
源码下载地址:
http://ultravisual.co.uk/blog/sourceFiles/splash_screen_src.zip
分享到:
相关推荐
- 新建 AIR 工程: 在 Flex Builder 中启动一个新的 AIR 工程项目。 - 编写代码: 使用 ActionScript 或其他支持的语言编写应用程序逻辑。 - 测试写好的程序: 在开发过程中频繁测试代码以确保功能的正确性。 - ...
在Android平台上创建基于Adobe AIR的Flex应用程序是一个将Flash Builder与移动设备功能相结合的过程。Adobe AIR允许开发者使用Flex框架创建跨平台的应用程序,包括在Android上运行的多屏幕应用。本篇指南将逐步介绍...
2. **Android清单文件**:Adobe AIR将自动生成一个AndroidManifest.xml文件,其中包含Android平台特有的设置,如权限、屏幕适配和硬件加速等。 3. **设备兼容性**:开发者需要指定应用支持的Android版本和设备屏幕...
- `音乐.p12`:这通常是一个包含私钥和证书的文件,用于数字签名AIR应用程序,确保其来源的安全性和可信度。 - `音乐-app.xml`、`读写文件-app.xml`:这些都是AIR应用程序的配置文件,XML格式,用来定义应用的元数据...
`<initialWindow>`配置了应用启动时的第一个窗口,包括内容、边框样式、透明度、可见性、最小和最大尺寸、屏幕方向和渲染模式。 `<additionalWindows>`允许定义额外的窗口配置。 `<supportedLocales>`列出应用支持...
- `application.xml`:这是Adobe AIR应用程序的配置文件,定义了应用程序的元数据、资源、启动屏幕、窗口设置等。 - `icons`:通常包含应用程序的图标资源,用于在桌面和任务栏上显示。 - `script`:可能包含应用...
1. **创建项目**:在你的IDE中新建一个Adobe AIR项目。选择Android作为目标平台,并配置相应的设备或模拟器设置。 2. **编写代码**:在主程序文件中(通常是`Main.as`或`index.html`),写入“Hello World”的显示...
综上所述,通过以上步骤,你可以成功地使用 Adobe Flash CS3 Professional 和 Adobe AIR 更新来创建、调试和发布一个完整的 AIR 应用程序。每一步都需要仔细规划和执行,以确保应用程序的质量和用户体验。希望这份...
假设你有一个本地视频文件名为"video.mp4",你可以这样创建: ```swift let videoURL = Bundle.main.url(forResource: "video", withExtension: "mp4")! let playerItem = AVPlayerItem(url: videoURL) ``` 接下来...
- 启动另一个VLC实例,选择“Media”>“Open Network Stream”。 - 输入播放地址`http://127.0.0.1:8080/test.flv`。 #### 四、尝试直接发布MP4流的问题及解决方案 **1. 直接发布MP4流的问题** 文档中提到,...
AirPlay是由苹果公司实现的一系列协议,旨在让iOS设备(如iPhone、iPod touch或iPad)上的各种媒体内容能在Apple TV上播放。AirPlay支持以下功能: 1. 从iOS设备展示照片和幻灯片。 2. 从iOS设备或iTunes流式传输...
在FLASH AIR中,可以通过监听TouchEvent.TOUCH_BEGIN来启动一个计时器(Timer),并设置计时器的时间阈值。当用户按压超过设定的时间后,通过TouchEvent.TOUCH_END或TouchEvent.TOUCH_ROLL_OUT来响应,停止计时器并...
Flash CS3提供了一个集成的ActionScript编辑器,支持AS3语言,这是开发AIR应用的主要编程语言。在舞台上绘制用户界面元素,如按钮、文本框等,然后在时间轴或文档类中编写相应的ActionScript代码来实现交互逻辑。 ...
4. `.fla`文件:这是Adobe Flash Professional的源文件,包含了项目的图形、动画和ActionScript代码,用于创建Air应用的用户界面和交互逻辑。 5. `.html`文件:可能包含Air应用的启动页面或者Web内容,使得应用可以...
- **Launchers**:Zygote孵化出第一个Launcher应用,即启动器,这便是启动界面出现的时候。 2. **启动界面实现**: - **Bootanimation**:Android中的启动动画由`bootanimation.zip`文件控制,通常位于`system/...