android: 不自动显示软键盘

android: don't show soft keyboard automatically

我有以下布局:

<LinearLayout
    android:id="@+id/linearLayoutHolder"
    android:layout_alignParentBottom="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:background="@android:color/white" >

    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:inputType="textCapSentences"
        android:background="@android:color/transparent"
        android:hint="@string/edit_message"
        android:textColorHint="@android:color/darker_gray"
        android:windowSoftInputMode="stateHidden"/>

</LinearLayout>

这会产生:

现在,当用户按下底部的显示后台应用程序按钮时(如上图所示),当用户返回应用程序时,将显示软键盘。

我不想在这种情况下显示软键盘。

如何做到这一点?

在您的 AndroidManifest.xml 中,为 Activity 的条目添加以下属性:

android:windowSoftInputMode="stateHidden"

它不应该写在你的布局中XML,而是AndroidManifest.xml

要设置多个软输入模式,可以这样设置:

android:windowSoftInputMode="stateHidden|adjustResize"

更多信息可以参考documentation.