Android Keyboard Tutorial [日本語]

[プラグイン制作の目的]

ユニティが提供するアンドロイドキーボードはネイティブコードが提供するものに比べて、とても制限的です。組立型文字の場合 Input.compositionStringが正常的な機能をしていなく、 hideInput フラッグもまた正常作動していません。私はこのような制約をなくし、そこに adjustResize オプションを追加し、活用できるようにしました。 

 


[要求仕様]

 Unity 4.6.3 以上

NGUI 3.5.0 以上

Android Mininim API Level : 9 (Android 2.3.1 ‘Gingerbread’)

 


[AndroidMenifest.xml 生成または修正]

  1. 既存 AndroidMenifest.xmlがあるなら、下記のコードを追加します。

<activity

           android:name=com.OhYeahDev.softInput.KeyboardActivity

           android:configChanges=orientation|fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen

           >

</activity>

 


  1. 既存 Main Activityがないなら、上記のコードに下記のコードを挿入します

 <intent-filter>

          <action android:name=android.intent.action.MAIN />

          <category android:name=android.intent.category.LAUNCHER />

        </intent-filter>

      </activity>

 

  1. 既存 AndroidMenifest.xmlがないなら、Sample_AndroidManifest.xml Assets/Plugins/Android フォルダーにコピーした後、ファイル名の ‘SamePle_’を削除してください。

 

 

[アクティビティ活性化]

AndroidKeyboardManager.Install() メソッドをアプリケーション駆動時に必ず呼び出してください。  

 

[キーボード出し及び設定法]

  1. スクリプトにネームスペースを定義します。

  1. ユニティが提供する TouchScreenKeyboard 方式で使用してください。

 


[追加オプション設定]

  1. fullScreen
  • Landscape画面で有効なオプション
  • キーボードを全体画面モードにする


Half Screen

 



  1. No Suggestions
  • キーボード上の ‘Suggestion Words’ Barを除去します。
    • 一部のハードウェア機種から、該当オプションが適用されない場合があります
    • Landscape 画面だけで可能

 



  1. SoftInputMode
  • InputAdjustType.SOFT_INPUT_ADJUST_RESIZE 

 画面をキーボード上に位置するように上げます。

  • InputAdjustType.SOFT_INPUT_ADJUST_PAN 

 上とは反対に、画面が固定された状態でキーボードを出します。

   4. KeepKeyboardOn

  • AdditionalOptions.keepKeyboardOn = true;
  • Keyboard is not hidden when the “Done” button is clicked

 

 

[高級オプション設定]

  1. 色んな Flag Maskなどを追加できます。(InputType.cs 参考)

 

 


[NGUIと連動] 

  1. Assets/Plugins/Android/AndroidKeyboard/NGUI Ver/UIInput.zip ファイルを圧縮を解凍させ、既存の物に被せます。
  • 2015年現在 NGUI 3.8.0, 3.9.0 バージョン用ファイルがあります。
  • キーボードを出す前に、オプション設定を完了されてください。(hideInput, softInputMode, Nosuggestion, fullScreen など)
  • hideInputの場合、下記のコードに注意してください。 

  1. InputTest_NGUI.apk を設置して NGUI 連動テストが出来ます。

 

[Example Scenes]

* Test_Landscape, Test_Portrait シーンは UnityEngine.UIを利用してキーボード機能をテストする目的で作りました。

* テスト用度で制作されたので、hideInputの場合にカーソルがなく、Selectionができません

 


Posted in Tutorials

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>