【问题标题】:Missing on-screen keyboard for Flash/Flex web application on Android?Android 上的 Flash/Flex Web 应用程序缺少屏幕键盘?
【发布时间】:2011-06-03 18:53:33
【问题描述】:

我有一个企业 Flex Web 应用程序,通过 https 提供服务,可以在台式计算机/浏览器上的 Flash player 10.0 及更高版本上正常运行。

但是,当我从装有 Android 2.2 的 HTC Incredible 运行它时,应用程序加载正常,但没有屏幕键盘,因此我无法登录。我可以在用户名和密码文本字段中看到闪烁的光标。我可以在它们之间切换。我什至可以点击登录按钮并看到身份验证错误!

根据Adobe,这应该可以正常工作。有任何想法吗?我想在公交车站向陌生人炫耀我们的新应用!

【问题讨论】:

  • 这里是部分答案。如果您需要向完全陌生的人展示您的网络应用程序,只需将其他网络浏览器设置为默认浏览器即可。 xscope 或 dolphin 应该可以正常工作(想一想,在输入框获得焦点之前,您可能需要放大很多)。我会把编程答案留给其他人。
  • 试过 Dolphin...没有什么不同...我想应该是 Android 上的 Flash 播放器。
  • 找到一个几乎没有答案的重复项:stackoverflow.com/questions/4007486/…
  • 相信你一定会用到基于TextField的文本输入组件,你知道你在用吗?
  • 我不相信 Spark 文本控件是基于 TextField 的。尝试使用 mx 文本等效项,看看是否有效。

标签: android apache-flex flash web-applications


【解决方案1】:

设备:Kindle Fire

我遇到了同样的问题。我的数学实验室使用 Flash 来完成家庭作业,但我无法使用键盘进行输入。直到我找到this

  • 在您的 Android 设备上下载并安装“Keyboardflash_1.0.0.apk”。
  • 在浏览器中打开 flash 程序
  • 运行“游戏键盘”应用,点击“退出后点击此处调出键盘”
  • 返回浏览器

您会注意到我没有执行应用程序为您提供的方向,因为 kindle fire 与这些步骤不兼容。也许它与您的设备有关。

您可能无法将其与“Dolphin”之类的浏览器应用程序一起使用

欢迎您 :) 尊重开发者

Gamepad 也在安卓市场上。

【讨论】:

    【解决方案2】:

    手机文本输入

    如果未检测到物理键盘,Flash Player 10.1 支持使用具有 TextField 支持的本机设备虚拟键盘。在支持虚拟键盘的移动设备上编辑文本时,虚拟键盘会自动升高和降低以响应文本字段上的焦点变化,以实现无障碍和直观的文本编辑。聚焦的文本字段位于页面的可见区域中心,并适当地缩放/滚动以确保它不会被虚拟键盘遮挡。在屏幕旋转、来电或其他系统事件时,任何已经存在的文本输入都会被保留。 虚拟键盘适用于 TextField,但目前不适用于文本布局框架或其他 Flash 文本引擎文本。

    【讨论】:

    • 那很奇怪,因为我在我的项目中使用 TextField,但我无法让它调用三星 Galaxy S2 上的键盘。
    【解决方案3】:

    似乎问题在于浏览器中键盘的不同实现。在此处查看 Adob​​e 的评论,因为他们关闭了无法修复的错误:https://bugs.adobe.com/jira/browse/FP-5704

    我在 Galaxy S2 上遇到了同样的问题 - 虽然在这里手动强制键盘向上不是一个选项,因为地址栏会自动获得焦点。

    【讨论】:

    • 刚刚通过安装 Gingerbread 键盘而不是默认的三星键盘“修复”了我手机上的问题。如果您希望其他人使用您的应用,这不是一个真正的解决方案,但可以确认问题的根源。
    【解决方案4】:

    不是编程解决方案,但是如果它不自动弹出,长按菜单按钮会弹出键盘(至少在我的 HTC Desire,2.2 android 上)。

    【讨论】:

    • 令人难以置信的是,这确实有效。不知道您可以手动强制键盘显示在 Android 上。现在我可以继续使用 Spark 控件了……谢谢。
    • 这在我用过的 HTC 设备上效果很好,但它可能不是您想要为您的客户提供的功能,因为我知道某些摩托罗拉设备不支持此功能,我相信三星 Galaxy Tab 也不行。
    【解决方案5】:

    Flex 4 中的 spark 组件当前未针对移动设备进行优化。下一个代号为“Hero”的 Flex 版本将为 spark TextInput/TextArea 组件提供移动优化的皮肤。这些皮肤基于 TextField,并且还针对 ActionScript 皮肤的性能和更合适的默认大小进行了优化。当前 Hero 预览版中的文本支持很少,但最终版本会更加强大,例如支持在 TextArea 中滚动。查看规范了解更多信息:http://opensource.adobe.com/wiki/display/flexsdk/Mobile+Text+Components

    值得注意的是,Hero 中的移动功能在设计时考虑了独立的移动应用程序,而不是基于浏览器的应用程序。也就是说,您也许可以获取这些移动皮肤并尝试在使用 Hero 编译的基于浏览器的 Flex 应用程序中使用它们。

    【讨论】:

      【解决方案6】:

      您是否尝试过严格地为 10.1 重新发布您的作品?我相信任何支持 10.1 之前的 Flash 版本的应用程序在移动设备上都被视为 Flash Lite,这可能(也可能不是)是问题所在。

      值得一试。

      【讨论】:

      • 感谢您的建议。我继续尝试(似乎很合理),但不幸的是并没有什么不同。 :-(
      • 尝试将您的 RIA 作为独立的 AIR 应用程序进行测试。如果它作为 AIR 工作,那么问题可能是 Flash 10.1 浏览器插件中的错误。我也会尝试通过使用不同的输入字段来定位问题。你在使用文本输入 flex 组件吗?如果是这样,请尝试仅使用 INPUT 类型的基本 AS3 TextField(反之亦然)。
      猜你喜欢
      • 2015-04-01
      • 2014-06-25
      • 2015-07-01
      • 2019-12-01
      • 1970-01-01
      • 2015-11-11
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多