【Android Studio】ソフトキーボードの非表示【日本語】

AndroidStudioでEditTextにフォーカス時、ソフトキーボードを非表示にする方法です。

オマケとして、EditTextがあるアプリを起動した直後に表示されるソフトキーボードを非表示にする方法も掲載します。

 

他のプログラミングに関する記事はこちら

スポンサーリンク


 

【EditTextにフォーカスがあたったときにソフトキーボードを非表示とする方法】

EditTextに対しオンクリックのリスナーイベントを用意して、その中で非表示にします。

具体的には、以下のようなコードを用意すればOKです(対象のアクティビティのonCreate関数内を記載)

8~16行目参照(9行目で指定している「R.id.edit1」の「edit1」は、EditTextのIDを指定します)

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // edit1のクリックイベント.
        findViewById(R.id.edit1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // ソフトウェアキーボードを非表示にする.
                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
            }
        });
    }
}

 

【アプリ起動時のソフトキーボードを非表示】

アプリ起動時に表示されるソフトキーボードを非表示にするには、app>manifests内にあるマニフェストファイル(xml)を編集します。

具体的には、activityタグにwindowSoftInputModeのステータスを指定してあげるだけです。

以下の2行目の記述を追加しています。

        <activity android:name=".MainActivity"
            android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

 

これらをやることで、EditTextをクリックしたときと、アプリ起動時のソフトキーボードを非表示とすることが出来ます。

 

 

他のプログラミングに関する記事はこちら

スポンサーリンク