在大多数情况下,Unity 会自动处理 GUI 元素的键盘输入,但也可以轻松地从脚本中按需显示键盘。
当用户点击可编辑的 GUI 元素时,键盘会自动出现。目前,GUI.TextField、GUI.TextArea 和 GUI.PasswordField 会显示键盘;有关更多详细信息,请参阅 GUI 类 文档。
使用 TouchScreenKeyboard.Open() 函数打开键盘。有关此函数接受的参数,请参阅 TouchScreenKeyboard 脚本参考。
键盘支持以下选项:-
属性 | 功能 |
---|---|
TouchScreenKeyboardType.Default | 字母。可以切换到带数字和标点的键盘。 |
TouchScreenKeyboardType.ASCIICapable | 字母。可以切换到带数字和标点的键盘。 |
TouchScreenKeyboardType.NumbersAndPunctuation | 数字和标点符号。可以切换到带字母的键盘。 |
TouchScreenKeyboardType.URL | 带斜杠和 .com 按钮的字母。可以切换到带数字和标点的键盘。 |
TouchScreenKeyboardType.NumberPad | 仅限 0 到 9 的数字。 |
TouchScreenKeyboardType.PhonePad | 用于输入电话号码的键盘。 |
TouchScreenKeyboardType.NamePhonePad | 字母。可以切换到电话键盘。 |
TouchScreenKeyboardType.EmailAddress | 带 @ 符号的字母。可以切换到带数字和标点的键盘。 |
默认情况下,在键盘出现后,会创建一个编辑框并将其放置在键盘顶部。这用作用户正在输入的文本的预览,因此文本始终对用户可见。但是,您可以通过将 TouchScreenKeyboard.hideInput 设置为 true 来禁用文本预览。请注意,这仅适用于某些键盘类型和输入模式。例如,它不适用于电话键盘和多行文本输入。在这种情况下,编辑框将始终出现。TouchScreenKeyboard.hideInput 是一个全局变量,将影响所有键盘。
在 TouchScreenKeyboard 中有三个键盘属性决定屏幕上键盘的可见性状态和大小。
属性 | 功能 |
---|---|
visible | 如果键盘在屏幕上完全可见并且可以用于输入字符,则返回 true。 |
area | 返回键盘的位置和尺寸。 |
active | 如果键盘处于激活状态,则返回 true。此属性不是静态属性。您必须拥有一个键盘实例才能使用此属性。 |
请注意,在键盘完全可见于屏幕上之前,TouchScreenKeyboard.area 将返回一个位置和大小设置为 0 的 Rect。您不应该在 TouchScreenKeyboard.Open() 之后立即查询此值。键盘事件的顺序如下
可以配置键盘在键入时隐藏符号。当用户需要输入敏感信息(例如密码)时,这很有用。要手动打开启用安全文本输入的键盘,请使用以下代码
TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);
要显示带有黑色半透明背景而不是经典不透明背景的键盘,请按如下方式调用 TouchScreenKeyboard.Open()
TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);