防止键盘在活动开始时显示

问题

我有一个带有aEdit Text输入的活动。初始化活动时,将显示Android键盘。在用户聚焦输入之前,键盘如何保持隐藏状态?


#1 热门回答(326 赞)

我认为以下可能有效

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

我以前用过这种东西。


#2 热门回答(146 赞)

试试这个 -

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

否则,在清单文件的活动中声明 -

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
          android:label="@string/app_name"
          android:windowSoftInputMode="stateHidden"
          >

如果你已经使用android:windowSoftInputMode获得类似adjustResizeadjustPan的值,则可以组合两个值,如:

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

这将在适当时隐藏键盘,但在必须显示键盘时平移活动视图。


#3 热门回答(31 赞)

使用主题隐藏所有活动

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

设定主题

<application android:theme="@style/MyTheme">