Version: 2021.1
移动设备输入
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,直到键盘在屏幕上完全可见。不应在 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);


在输入时隐藏文本
在输入时隐藏文本

警报键盘

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

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


警报键盘
警报键盘
移动设备输入
Unity XR 输入
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961