应用程序启动时键盘会自动显示吗?

Keyboard shows up automatically when the app starts?

在我的 MainActivity 中,我添加了一个 EditText。 当用户打开应用程序时,键盘会自动出现让用户键入文本,但我的应用程序在 onCreate() 中显示广告,因此我想禁用该自动事件,可以吗?

使用这些功能 show/hide 键盘:

隐藏软键盘

public void hideSoftKeyboard() {
    if(getCurrentFocus()!=null) {
        InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
    }
}

显示软键盘

public void showSoftKeyboard(View view) {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    view.requestFocus();
    inputMethodManager.showSoftInput(view, 0);
}

或者您可以设置 windowSoftInputMode : stateHidden

    <activity
    ... 
    android:windowSoftInputMode="stateHidden">

在AndroidManifest.xml中您可以使用以下设置:

<activity android:name="com.your.package.ActivityName" 
        android:windowSoftInputMode="stateHidden"  />

您也可以试试:

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

您可以在此处找到更多详细信息 link

是的,这是可能的,您有两种选择来实现这一目标。

选项 1: 在您的布局中添加以下代码 - xml 文件

android:focusable="true"
android:focusableInTouchMode="true"

选项 2:

在清单文件中添加以下代码

android:windowSoftInputMode="stateAlwaysHidden"

只需将此行添加到您的 android 清单文件即可禁用显示键盘。 (activity 个)