移动设备(如手机和平板电脑)通常提供一种虚拟的软件键盘而不是物理键盘。使用 Flash API 中的类可以执行以下操作:
1.检测虚拟键盘何时开启和关闭。
2.阻止键盘开启。
3.确定被虚拟键盘覆盖的舞台区域。
4.创建获取焦点时开启键盘的交互对象。(iOS 上的 AIR 应用程序不支持此功能)

(仅限 AIR)禁用自动平移行为,以便应用程序可以修改自己的显示以适应键盘。

控制虚拟键盘的行为

当用户在某个文本字段或特别配置的交互式对象内点击时,运行时会自动打开虚拟键盘。当该键盘打开时,运行时会遵从本机平台惯例来平移应用程序内容以及调整其大小,以便所有用户在键入文本的过程中可以看到这些文本。

当键盘打开时,具有焦点的对象会逐一调度以下事件:

softKeyboardActivating 事件 — 在键盘开始上浮到舞台上方前的一刹那调度该事件。如果您调用已调度事件对象的 preventDefault() 方法,则虚拟键盘不会打开。
softKeyboardActivate 事件 — 在完成 softKeyboardActivating 事件处理后调度该事件。当具有焦点的对象调度此事件时,Stage 对象的 softKeyboardRect 属性已更新,以反映被虚拟键盘遮住的舞台区域。无法取消此事件。

注: 如果键盘更改大小,例如,当用户更改键盘类型时,具有焦点的对象会再次调度 softKeyboardActivate 事件。 
softKeyboardDeactivate 事件 — 当虚拟键盘因任意原因关闭时调度该事件。无法取消此事件。

下面的示例在舞台上添加两个 TextField 对象。当您点击位于上方的 TextField 时,该字段会阻止键盘浮出;如果键盘已浮出,则关闭键盘。位于下方的 TextField 演示默认的行为。此示例报告由这两个文本字段同时调度的软键盘事件。

package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.SoftKeyboardEvent;
public class SoftKeyboardEventExample extends Sprite
{ private var tf1:TextField = new TextField(); private var tf2:TextField = new TextField(); public function SoftKeyboardEventExample() { tf1.width = this.stage.stageWidth; tf1.type = TextFieldType.INPUT; tf1.border = true; this.addChild( tf1 ); tf1.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, preventSoftKe    yboard ); tf1.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, preventSoftKe    yboard ); tf1.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, preventSoftKeyboard ); tf2.border = true; tf2.type = TextFieldType.INPUT; tf2.width = this.stage.stageWidth; tf2.y = tf1.y + tf1.height + 30; this.addChild( tf2 ); tf2.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, allowSoftKeyboard ); tf2.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, allowSoftKeyboard ); tf2.addEventListener( SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, allowSoftKeyboard); } private function preventSoftKeyboard( event:SoftKeyboardEvent ):void { event.preventDefault(); this.stage.focus = null; //close the keyboard, if raised trace( "tf1 dispatched: " + event.type + " -- " + event.triggerType ); } private function allowSoftKeyboard( event:SoftKeyboardEvent )    :void { trace( "tf2 dispatched: " + event.type + " -- " + event.triggerType ); }
}
}

Flash在移动设备上控制虚拟键盘相关推荐

  1. android 无法隐藏键盘,我无法在Android上隐藏虚拟键盘

    我正在使用支持库处理片段和嵌套片段.我无法在Android上隐藏虚拟键盘 我有一个场景,我从现有的片段中添加一个新的片段(其中包含一个EditText).当用户点击EditText时,会显示一个虚拟键 ...

  2. 自定义Unity在iOS平台上的虚拟键盘

    日本版本的玩家反馈,iOS的虚拟键盘无法点击确认按钮.观察了游戏内容如下: 发现确认按钮被长条的文本框给挤压了,不能完全显示. 于是观察了隔壁几家游戏是怎么处理虚拟键盘的,如图: 楚留香的键盘:明显重 ...

  3. 服务器端口怎么调出虚拟键盘,Win8小技巧之如何设置触控虚拟键盘

    Win8小技巧之如何设置触控虚拟键盘 2013年07月08日 00:14作者:马承平编辑:马承平文章出处:泡泡网原创 分享 泡泡网系统工具频道7月8日 经常使用笔记本录入文字的朋友一定不会想到在平板上 ...

  4. 安卓虚拟键盘_像科幻片里那样隔空打字,虚拟键盘会成为未来趋势吗?

    最极客最具极客精神的新媒体近日,Facebook Reality Labs为虚拟现实体验开发了一种名为"PinchType"的输入法.主要依靠手部追踪,将不同字母输入固定分配给特定 ...

  5. html桌面插件,js桌面虚拟键盘插件A-Keyboard

    A-Keyboard是一款js虚拟键盘插件.该插件可以在桌面端模拟普通键盘,移动端键盘和数字键盘.并且内置了几种可选用的主题效果. 使用方法 内置主题的CSS文件. 初始化插件 通过模块化的方式来使用 ...

  6. 树莓派:虚拟键盘软件

    Matchbox-keyboard/Florence/Onboard/XVKBD/GOK这五种屏幕触摸键盘软件的安装方式(适用于树莓派系统的Raspbian或其他基于Debian的系统): 1)Mat ...

  7. USB转蓝牙hid键鼠按键精灵控制手机虚拟键盘、虚拟触摸等功能

    #USB转蓝牙hid键鼠按键精灵控制手机虚拟键盘.虚拟触摸等功能 提示:目的是为了实现通过电脑控制,达到手机虚拟触摸的功能 简单介绍 提示:开放协议,可再行开发,提供C# python c++ 等开发 ...

  8. delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收

    delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收 今天,群里有几位同学讨论这个问题,汇总了一下,分享出来,供同学们学习研究. 一.直接上代码示例 1.屏蔽应 ...

  9. android 代码设置 键盘适应_硬核软件,能在电脑上控制iPhone和Android手机

    在电脑上控制手机大概已经不是什么新鲜操作,小米.华为都为自家手机和电脑的联动推出了同屏操作之类的功能,此外也可以通过开源软件Scrcpy来在Windows或者macOS上实现对安卓手机的控制,这些基本 ...

最新文章

  1. Linux Shell编程入门
  2. Systick 延时函数详解
  3. 最新版python学习_最全Python学习路线图【2020最新版】
  4. SpringBoot之MongoTemplate的查询可以怎么耍
  5. 计算机考试上传照片教程,电脑照片传到iPhone手机的详细步骤【图文】
  6. linux硬件配置_Linux硬件配置
  7. iOS 浅复制和深复制的深层理解,含示例
  8. Sharepoint学习笔记---Linq to Sharepoint--增,删,改操作
  9. 计算机校准颜色,显示器颜色校正,教您怎么校准显示器颜色
  10. netperf使用笔记
  11. 访问共享计算机的用户名和密码怎么设置,Win7系统下共享文件夹怎么设置账号密码...
  12. 超级实习生计划学习笔记——Redis字符串
  13. matlab寻找频谱峰值,matlab – 从数据中获取FFT峰值
  14. 标准化(standardization,z-score)与归一化(Normalizer)分别是什么?有什么区别?
  15. ps做手机计算机界面,手机设计!移动设备的界面设计尺寸
  16. Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
  17. 史上最强的前端面试题!
  18. 如何黑别人的电脑??
  19. ADS(Advanced Design system)创建Symbol并放置
  20. 共享自行车租赁管理系统单车-JAVA.JSP【数据库设计、论文、源码、开题报告】

热门文章

  1. Linux下传说中的三剑客
  2. adb push 与 pull
  3. nvm node版本切换无效
  4. 字符串转换成数字的三种方法
  5. 去年那个“被低估的以太坊”,果真突破了前高
  6. 生信分析——聚类分析
  7. B. The Great Hero
  8. 大数据帮助我们走进大脑的缤纷世界
  9. WebRTC回声消除技术
  10. 如何写出完美的接口:接口规范定义、接口管理工具推荐