版本:Unity 6 (6000.0)
语言:English
输入
Unity XR 输入

移动键盘

在大多数情况下,Unity 会自动处理 GUI 元素的键盘输入,但也可以轻松地从脚本中按需显示键盘。

GUI 元素

当用户点击可编辑的 GUI 元素时,键盘会自动出现。目前,GUI.TextFieldGUI.TextAreaGUI.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()TouchScreenKeyboard.active 返回 true。TouchScreenKeyboard.visible 返回 false。TouchScreenKeyboard.area 返回 (0, 0, 0, 0)。
  • 键盘滑入屏幕。所有属性保持不变。
  • 键盘停止滑动。TouchScreenKeyboard.active 返回 true。TouchScreenKeyboard.visible 返回 true。TouchScreenKeyboard.area 返回键盘的实际位置和大小。

安全文本输入

可以配置键盘在键入时隐藏符号。当用户需要输入敏感信息(例如密码)时,这很有用。要手动打开启用安全文本输入的键盘,请使用以下代码

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);


Hiding text while typing
键入时隐藏文本

警报键盘

要显示带有黑色半透明背景而不是经典不透明背景的键盘,请按如下方式调用 TouchScreenKeyboard.Open()

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);


Alert keyboard
警报键盘
输入
Unity XR 输入