スマホのゲームやアプリでテキストを入力する時に出すキーボードの表示/非表示のやり方メモ。
モバイルキーボードを使う場合は、TouchScreenKeyboardを使う。
表示
表示したい場合は以下のように書けば表示される。iOSでもAndroidでも同じ書き方でキーボードが表示される。
TouchScreenKeyboard.Open( "", TouchScreenKeyboardType.Default );
実際に使う時はこんな感じ。keyboardからテキストとか色々取得したりできる。
TouchScreenKeyboard keyboard; keyboard = TouchScreenKeyboard.Open( "", TouchScreenKeyboardType.Default );
TouchScreenKeyboardType は書き換えると様々なキーボードを出すことが出来ます。出てくるキーボードは以下の通り。
| TouchScreenKeyboardType.Default | デフォルト |
| TouchScreenKeyboardType.ASCIICapable | ASCIIのキーボード |
| TouchScreenKeyboardType.NumbersAndPunctuation | 数字とピリオド、カンマ等がある |
| TouchScreenKeyboardType.URL | URL特化キーボード |
| TouchScreenKeyboardType.NumberPad | 数字のみ |
| TouchScreenKeyboardType.PhonePad | 番号入力特化キーボード |
| TouchScreenKeyboardType.NamePhonePad | 英数字キーボード |
| TouchScreenKeyboardType.EmailAddress | メールキーボード |
| TouchScreenKeyboardType.Social | スペースの右に@のあるキーボード |
| TouchScreenKeyboardType.Search | スペースの右に.があるキーボード |
キーボードなんでこんな種類あるんだってリファレンス見ながら思ってました。 よく使いそうなのはDefaultとNumberPadとか...?
非表示
activeをfalseにすることで非表示に出来る。
keyboard.active = false;
キーボードに入力した文字の取得
キーボードに入力した文字の取得方法は、keyboard.text;で取得する。
UIのTextとかに入力したテキストを表示させたい時などはこんな感じ。
Text m_UISample;
m_UISample.text = keyboard.text;
文字数の制限
キーボードのインプットフィールドに入力できる最大文字数を設定できる。
keyboard.characterLimit = 10; // 最大文字数を10にする