285

入力のあるアクティビティがありEdit Textます。アクティビティが初期化されると、Android キーボードが表示されます。ユーザーが入力に集中するまでキーボードを非表示のままにするにはどうすればよいですか?

4

18 に答える 18

448

私は次のことがうまくいくと思います

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

以前はこんな用途で使っていました。

于 2012-03-16T06:15:53.523 に答える
192

これを試して -

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

あるいは、

  1. マニフェスト ファイルのアクティビティで宣言することもできます -
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
          android:label="@string/app_name"
          android:windowSoftInputMode="stateHidden"
          >
  1. またはandroid:windowSoftInputModeのような値にすでに使用している場合は、次のように 2 つの値を組み合わせることができます。adjustResizeadjustPan
<activity
        ...
        android:windowSoftInputMode="stateHidden|adjustPan"
        ...
        >

これにより、必要に応じてキーボードが非表示になりますが、キーボードを表示する必要がある場合に備えて、アクティビティ ビューがパンされます。

于 2012-03-16T06:18:05.607 に答える
34

テーマを使用するすべてのアクティビティで非表示にする

<style name="MyTheme" parent="Theme">
    <item name="android:windowSoftInputMode">stateHidden</item>
</style>

テーマを設定する

<application android:theme="@style/MyTheme">
于 2012-03-16T07:41:13.787 に答える
24

これら 2 つのプロパティを親レイアウトに追加します (例: Linear Layout、Relative Layout)

android:focusable="false"
android:focusableInTouchMode="false" 

それはトリックを行います:)

于 2015-12-24T06:19:35.557 に答える
14

API レベル 21 を使用している場合は、editText.setShowSoftInputOnFocus(false); を使用できます。

于 2015-03-20T12:10:06.643 に答える
13

マニフェストファイルで宣言してみてください

<activity
    android:name=".HomeActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateAlwaysHidden" >
于 2014-04-04T12:06:07.553 に答える
11

AndroidManifest.xml に追加するだけ

<activity android:name=".HomeActivity"  android:windowSoftInputMode="stateHidden">
</activity>
于 2016-01-06T14:48:25.680 に答える
7

私にとって最良の解決策、あなたのクラスを貼り付けてください

@Override
public void onResume() {
    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    super.onResume();
}

@Override
public void onStart() {
    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    super.onStart();
}
于 2016-08-05T07:59:06.090 に答える
3

キーボードを非表示にする機能。

public static void hideKeyboard(Activity activity) {
    View view = activity.getCurrentFocus();

    if (view != null) {
        InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);

        inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
}

AndroidManifext.xml ファイルでキーボードを非表示にします。

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:windowSoftInputMode="stateHidden">
于 2015-12-22T04:32:33.950 に答える
0

このコード ( android:windowSoftInputMode="stateAlwaysHidden") をアクティビティ タグ内のマニフェストで宣言します。

このような :

<activity android:name=".MainActivity"
  android:windowSoftInputMode="stateAlwaysHidden">
于 2020-09-10T16:17:25.090 に答える
0

API 26およびKotlinでこのソリューションのみが機能しました

   override fun onResume() {
    window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
    super.onResume()
}
于 2022-02-17T13:07:18.427 に答える