启用图标 ADL

发布于 2024-10-13 21:23:11 字数 143 浏览 1 评论 0原文

我似乎无法弄清楚如何在 AIR 调试启动器中启用图标。这似乎适用于 Linux,但当我在 Windows 或 Mac 上运行它时,仅显示 Adob​​e AIR 图标。我已在应用程序描述符文件中的 中指定了图标的位置。

I can't seem to work out how to enable icons in the AIR Debug Launcher. This seems to work on Linux, but when I run it on Windows or Mac only the Adobe AIR icon shows. I have specified the location of the icon in <icon></icon> in the application descriptor file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终难愈 2024-10-20 21:23:11

这些图标是在应用程序自行安装时根据应用程序描述符文件中的文件引用创建的,因此您在开发过程中实际上无法看到它们。

Christian Cantrell 的 Adob​​e 博客 上提供了一个可以解决问题的解决方案尽管说明来自 2008 年 2 月,但这可能适用于最新的 Flex SDK 或 Flex/Flash Builder IDE,也可能不适用于。

幸运的是,我找到了一种简单的方法来完成这项工作。这是你要做的:

  1. 复制您的应用程序图标并为其命名不同的名称。一个版本应由您的应用程序描述符文件引用,另一个版本将编译到您的应用程序中。 (从技术上讲,您不必复制图标,但是在生成应用程序的发布版本时,Flex Builder 不会复制嵌入式资源,这意味着您的应用程序图标将丢失。请相信我,我告诉您这一点创建副本并避免整个问题会更容易。)

  2. 使用如下代码将应用程序图标的副本编译到应用程序中:
    [Embed(source="assets/application.png")] public var appIconClass:Class;

  3. 在应用程序的初始化代码中,创建图标的 Bitmap 实例,如下所示:
    var appIcon:Bitmap = new appIconClass();

  4. 像这样设置你的图标:
    InteractiveIcon(NativeApplication.nativeApplication.icon).bitmaps = [appIcon];

这段代码有点过于简单,因为它没有考虑平台差异。更完整的实现可能会执行以下操作:

  1. 检查客户端支持哪些类型的图标。您可以使用 NativeApplication.supportsDockIconNativeApplication.supportsSystemTrayIcon API 执行此操作。

  2. 位图缩放至适合平台的尺寸。

  3. 使用 NativeApplication 的 icon 属性设置图标。

Those icons are created from the file references in the application descriptor file when the application installs itself so you won't really be able to see them during development.

There is a solution available on Christian Cantrell's Adobe blog that works around this though the instructions are from February 2008. This may or may not work with the latest Flex SDK or Flex/Flash Builder IDE.

Fortunately, I’ve found an easy way to make this work. Here’s what you do:

  1. Make a copy of your application icon and name it something different. One version should be referenced by your application descriptor file, and the other will be compiled into your application. (You don’t technically have to make a copy of the icon, but when generating a release build of your application, Flex Builder doesn’t copy over embedded resources which means your application icon will be missing. Trust me when I tell you that it’s easier to create a copy and avoid this whole issue.)

  2. Compile the copy of your application icon into your application using code like this:
    [Embed(source="assets/application.png")] public var appIconClass:Class;

  3. In your application’s initialization code, create a Bitmap instance of your icon like this:
    var appIcon:Bitmap = new appIconClass();

  4. Set your icon like this:
    InteractiveIcon(NativeApplication.nativeApplication.icon).bitmaps = [appIcon];

This code is a little oversimplified because it doesn’t take platform differences into account. A more complete implementation might do something like this:

  1. Check to see what kinds of icons the client supports. You can do this with the NativeApplication.supportsDockIcon and NativeApplication.supportsSystemTrayIcon APIs.

  2. Scale the Bitmap to the appropriate dimensions for the platform.

  3. Set the icon(s) using the NativeApplication’s icon property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文