手机键盘
大部分情况下,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 返回键盘的实际位置和尺寸。
安全文本输入
在输入时,可以通过配置键盘隐藏符号。当用户需要输入敏感信息(如密码)时,这将是非常有用的功能。如需手动打开启用安全文本输入的键盘,可使用如下代码:
1
|
iPhoneKeyboard.Open(\"\", iPhoneKeyboardType.Default,false,false,true);
|
经典键盘
警醒键盘
Android
Unity Android 在显示系统键盘方面重新使用了 IOS API。虽然 Unity Android 支持大部分与 IPhone 对应的功能,但是不支持以下两点功能:
- iPhoneKeyboard.hideInput
- iPhoneKeyboard.area