Version: Unity 6.0 (6000.0)
言語 : 日本語
入力
Unity の XR 入力

モバイルキーボード

ほとんどの場合、Unity は GUI 要素のキーボード入力を自動的にハンドリングしますがスクリプトからの要求によりキーボードを表示するのも簡単です。

GUI 要素

ユーザーが編集可能な GUI 要素をタップすると、キーボードが自動的に表示されます。現在、GUI.TextFieldGUI.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 はグローバル変数であり、すべてのキーボードに影響します。

Visibility およびキーボードサイズ

TouchScreenKeyboard には 3 つのキーボードプロパティが存在し、キーボードの表示/非表示の状態および画面上のサイズを決定します。

プロパティ: 機能:
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);


入力中のテキストの非表示
入力中のテキストの非表示

アラートキーボード

通常の不透明な背景ではなく、半透明の黒い背景でキーボードを表示する場合は、次のように TouchScreenKeyboard.Open() を呼び出します:

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


アラートキーボード
アラートキーボード
入力
Unity の XR 入力