11

エディットテキストがたくさんあるアクティビティがあります。そのアクティビティをロードするたびに、キーボードが表示されて画面の半分を消費するため、そのアクティビティの見栄えが悪くなります。したがって、そのアクティビティをロードするときにキーボードを非表示にする方法はありますか。

4

7 に答える 7

38

onCreate()でこれを使用します。

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2012-12-10T12:13:49.307 に答える
9

RootLayoutのアクティビティのXMLファイルにこの2行を追加します。つまり、相対または線形(取得したものは何でも):

android:focusableInTouchMode="true" 

この行をアクティビティマニフェストファイルに追加します

 android:windowSoftInputMode="stateHidden"
于 2012-12-10T12:14:27.097 に答える
8

AndroidManifest.xmlに、属性 android:windowSoftInputMode:を追加します。

<activity android:name="your.package.ActivityName"
      android:windowSoftInputMode="stateHidden"  />
于 2015-06-17T11:24:10.673 に答える
5
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
于 2012-12-10T12:10:13.597 に答える
0

これは、intputmethodmangare...を使用して次のコードを使用して実行できます。

InputMethodManager imm = (InputMethodManager)getSystemService(
      Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
于 2012-12-10T12:11:55.347 に答える
0

次のコードをonCrete関数に配置します。

new Handler().postDelayed(new Runnable() { @Override public void run() { InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); view.clearFocus(); }}, 50);

viewEditTextはどこにありますか

editText実行可能は、がレンダリングされる前にコードが実行される可能性があるためです。

于 2019-02-08T15:05:24.433 に答える
0

onCreateイベントで必要なすべてのActivityクラスで呼び出すメソッドを作成しました。すべてのシナリオで私のために働いた。

public class ClassLib {
        public static void hideKeyboard(Activity activity) {
        //Hide keyboard
        activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    }
}
于 2020-11-09T05:55:00.230 に答える