手机键盘

大部分情况下,Unity 将自动处理 GUI 元素的键盘输入,但是,在脚本中按照要求显示键盘也非常简单。

 iOS

 

使用键盘

GUI 元素

用户轻触可编辑的 GUI 元素时,键盘将自动出现。目前,GUI.TextField、GUI.TextArea 和 GUI.PasswordField 将显示键盘;

手动键盘处理

使用 iPhoneKeyboard.Open 功能打开键盘。

键盘类型概要

键盘支持以下类型:



iPhoneKeyboardType.Default 字母键盘。可切换至数字和符号键盘。
iPhoneKeyboardType.ASCIICapable 字母键盘。可切换至数字和符号键盘。
iPhoneKeyboardType.NumbersAndPunctuation 数字和符号键盘。可切换至字母键盘。
iPhoneKeyboardType.URL 带退格键和 .com 键的字母键盘。可切换至数字和符号键盘。
iPhoneKeyboardType.NumberPad 只有 0-9 的数字键盘。
iPhoneKeyboardType.PhonePad 电话号码输入键盘。
iPhoneKeyboardType.NamePhonePad 字母键盘。可切换至电话号码键盘。
iPhoneKeyboardType.EmailAddress 带 @ 符号的字母键盘。可切换至数字和符号键盘。

文本预览

默认情况下,键盘出现后,编辑框将被创建并置于键盘的上方。这可以作为用户正在输入的文本的预览,因此文本内容始终对用户可见。但是,您可以通过设 置iPhoneKeyboard.hideInput 为 true 值禁用此功能。请注意,这项功能仅适用于某些键盘类型和输入模式。例如,它不适用于电话键盘和多行文本输入。在这些情况下,编辑框将始终显示。 iPhoneKeyboard.hideInput 为全局变量,将影响所有键盘。

可见性和键盘尺寸

在 iPhoneKeyboard 中,有三种键盘属性可以确定键盘在屏幕上的可见状态和尺寸。



可见 (visible) 如果键盘在屏幕上完全可见,并且可以用来输入字符,则返回true。
区域 (area) 返回键盘的位置和尺寸。
激活 (active) 如果激活键盘,则返回 true。该属性不是静态属性,必须拥有键盘实例才能使用此属性。

请注意,iPhoneKeyboard.area 将返回位置和尺寸设置为 0 的矩形,直到键盘在屏幕上完全可见。不能在 iPhoneKeyboard.Open 之后立即查询此值。键盘事件的序列如下:

  • 调用 iPhoneKeyboard.Open。iPhoneKeyboard.active 返回 true 值。iPhoneKeyboard.visible 返回 false 值。iPhoneKeyboard.area 返回 (0, 0, 0, 0)。
  • 键盘滑入屏幕。所有属性保持不变。
  • 键盘停止滑动。iPhoneKeyboard.active 返回 true 值。iPhoneKeyboard.visible 返回 true 值。 iPhoneKeyboard.area 返回键盘的实际位置和尺寸。

安全文本输入

在输入时,可以通过配置键盘隐藏符号。当用户需要输入敏感信息(如密码)时,这将是非常有用的功能。如需手动打开启用安全文本输入的键盘,可使用如下代码:

[JavaScript] 纯文本查看 复制代码
?
1
iPhoneKeyboard.Open(\"\", iPhoneKeyboardType.Default,false,false,true);


经典键盘

警醒键盘

 Android

 

Unity Android 在显示系统键盘方面重新使用了 IOS API。虽然 Unity Android 支持大部分与 IPhone 对应的功能,但是不支持以下两点功能:

  • iPhoneKeyboard.hideInput
  • iPhoneKeyboard.area
也请注意:iPhoneKeyboardType 的样式在不同的设备上有所不同。