首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Adobe AIR挪动应用中的文本输入

2013-01-28 
Adobe AIR移动应用中的文本输入使用flash.text.TextField在AIR3发布之前,我们可以使用TextField作为在移动

Adobe AIR移动应用中的文本输入
Adobe AIR挪动应用中的文本输入

使用flash.text.TextField

在AIR3发布之前,我们可以使用TextField作为在移动设备上的文本输入,设置TextFieldType.INPUT,这个和普通的flash开发没什么区别。这块的代码我也就不在这写了,大家可以参考线上关于TextField的帮助:http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/text/TextField.html。

移动端TextField的输入原理

在移动设备上例如iOS,使用TextField作为文本输入,Adobe AIR处理方式是:在用户输入的时候,调用系统原生的输入代替flash的文本输入,当结束输入即移出输入框的时候将输入的内容在flash中渲染出来。

移动端TextField使用常见问题

虽然总说flash处理文本很弱,但是在这么多弱的文本处理里面,TextField其实还是可以做很多事情的,例如作为动态文本,静态文本、输入文本、支持html渲染,支持密码的方式渲染(displayAsPassword)。在样式方面除了通过属性设置例如文本颜色(textColor)也可以使用flash.text.TextFormat对样式进行设置,例如行间距(要命的行间距啊!,一会儿会提到这个 Adobe AIR挪动应用中的文本输入
在移动应用的配置文件***-app.xml里面有个节点:softKeyboardBehavior,就可以控制这个行为,是否在文本输入的时候聚焦到显示区域的中间,默认是开启的。

自制输入面板和软键盘的定位

很多情况下,我们会自己开发一些输入,例如客户端常用到的“表情输入面板”,还有“图片选择”等等,如下图所示:
Adobe AIR挪动应用中的文本输入
这些输入面板需要依赖于自身开发的UI,并且和软键盘有一定的关系,需要相互切换,并且位置方面也需要精确定位软键盘的位置。我们需要做的是:

    设置softKeyboardBehavior为none获得软键盘的高度

第一个在配置的xml里面设置即可,第二个实际上就是对文本监听SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,读取stage的softKeyboardRect即可。

热点排行