【问题标题】:Get the height of the softkeyboard in Adobe AIR Mobile获取 Adob​​e AIR Mobile 中软键盘的高度
【发布时间】:2012-12-01 23:31:37
【问题描述】:

我们正在尝试设计一款可同时部署到 Android 和 iOS 的移动 AIR 应用程序。我们的设计团队返回的屏幕之一是从屏幕顶部到键盘的全屏文本编辑器。如果我不能以编程方式获取键盘的高度,我显然无法做到这一点。有没有办法做到这一点?

我知道这在 iOS 中是可能的,而在 Android 中似乎是不可能的。创建 ANE 来执行此操作没有问题,但如果数据已在 AIR 中可用,我宁愿避免使用它。或者,我可以假设键盘是屏幕大小的 1/2,这在大多数情况下都可以在 iOS 上正常工作。

简而言之,是否可以在 AIR 中获得软键盘的高度?

【问题讨论】:

  • 好问题;我不相信这些信息会以任何方式暴露。
  • 是的,我就是这么想的。我很惊讶Apple甚至可以在本地使用它。他们过度保护自己的键盘。

标签: actionscript-3 apache-flex air


【解决方案1】:

我相信您可以使用舞台类访问它。在您的视图中查看this.stage.softKeyboardRect

注意:我没有亲自尝试过,但您可能需要在软键盘事件后访问它。在softKeyboardActivate 上为您的文本输入添加一个事件侦听器,然后调用this.stage.softKeyboardRect 以获取键盘的高度和位置。

【讨论】:

  • 完美。我以前从来没有注意到那个属性。非常感谢。
  • SoftKeyboardEvent.ACTIVATE 事件触发后,我已经确认这在 iOS 和 Android 上都有效。在 iOS6(iPad 第 1 代和第 3 代)以及 Android 4.2 (Galaxy Nexus) 上通过默认键盘和 SwiftKey 键盘进行测试
  • 它在三星 Galaxy S3 和 Galaxy Tab 上运行良好,但在我的 HTC 1 (m8) 上高度和顶部尺寸都错了。奇怪!
  • @AntoineMouquod 不幸的是,它似乎依赖于键盘。我确实找到了用于解决此问题的 ANE(我相信来自 FreshPlanet 的优秀人员),因此如果需要,您可能想看看它。
  • @JoshJanusch 谢谢,它看起来很棒!我会在下一个版本中尝试。现在我一直在使用一个简单的技巧:我正在考虑键盘占据屏幕的一半,然后我按下所有内容,以便选定的文本字段出现在上面。它有效。但是那个 ane 是一个更好的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
相关资源
最近更新 更多