2014年3月20日木曜日

Android - 自動でソフトキーボードが出るのを防ぐ

アプリを起動して、最初にEditTextにフォーカスが当たってしまうと、ソフトキーボードが自動で出てしまいます。これが嫌だったので、対策メモ。

この自動でソフトキーボードが出てしまうのを防ぐには、
public class TestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        setContentView(R.layout.activity_main);
    }

}
setSoftInputMode()で、WindowManager.LayoutParamsを設定します。

「SOFT_INPUT_STATE_ALWAYS_HIDDEN」

を設定すると、見事にアプリ起動時にEditTextにフォーカスがあたってもソフトキーボードがでなくなりました。対象のEditTextをクリックすると、ちゃんとソフトキーボードが出ます。

これで、一件落着。

ちなみに、

「SOFT_INPUT_STATE_HIDDEN」

を設定しても、同じ効果が得られます。

さて、何が違うんだろう。


参考:
WindowManager.LayoutParams | Android Developers
Y.A.M の 雑記帳: Android 自動でソフトキーボードが出るのを防ぐ

0 件のコメント:

コメントを投稿