EditTextフォーカス時にIMEを表示しない方法

EditTextが画面に表示された際、フォーカスが当たるとIME(ソフトウェアキーボード)が起動します。

タッチ時にIMEが起動するなら問題ないですが、EditTextが初めて表示されたときにIMEが起動してしまうと不便なこともあります。

そこでフォーカスしたままでIMEを非表示にするにはAndroidManifestに設定する方法とコードから設定する方法の2つがあります。

まず初めはAndroidManifest.xmlに次のようにwindowSoftInputModeの記述をすることです。

<manifest>
    <application>
        <activity
            android:name="hoge.MyActivity" 
            android:windowSoftInputMode="stateAlwaysHidden" >
        </activity>

windowSoftInputMode"stateAlwaysHidden"にするだけでOKです。

次にコード的には次のように指定できます。

public class MainWindow extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        /**この行を追加*/
        getWindow().setSoftInputMode(
                LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    }
}

以上のどちらか1つをすればEditTextが初めてフォーカスされた時にIMEが非表示になります。

関連項目
プライバシーポリシー