Adobe Air - Starling / Feathers - 没有OS级挂钩的文本输入(又名StageText)?

时间:2013-05-08 12:57:42

标签: actionscript-3 air starling-framework

长话短说,我似乎总是遇到Adobe AIR应用程序中不可预测的StageText功能。我想避免触发OS本机输入字段并直接在Feathers / Actionscript组件中模拟该功能。

我完全在Feathers中集成了一个屏幕键盘,并实现了一个类似于基本文本输入的Button子类。当用户单击该按钮时,将显示屏幕键盘并截取硬件键盘KEYUP并用于动态更新按钮标签属性。

这一切都运行良好,但当然我在当前的基本小部件中没有闪烁的光标或文本可选择性。我可以继续我当前的路径并手动实现我需要的其余部分,但是想问一下是否有人在Feathers / Starling / Actionscript技术堆栈中看到或实现了“本机代理”非本机文本输入小部件? (谷歌似乎说没有,但我希望这是错的。当然我不是唯一一个认为AIR的StageText ......麻烦......最好的人)

1 个答案:

答案 0 :(得分:1)

我将我的基本小部件从Button子类改为TextInput,编辑器工厂返回一个自定义的flash.text.TextField,它的SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING通过preventDefault()来修复。

我现在拥有大部分我想要的基本文本输入功能,因为我现在有一个文本小部件,我可以单击并选择文本并具有我所缺少的所有简单光标功能。这仍然可以防止片状本机 - 软键盘交互,所以我认为这可能就足够了。