我有一个非常简单的布局,包括一个EditText和一个按钮。问题在于,当活动启动并且EditText获取焦点时,键盘会立即出现。我已经从XML中删除了</requestFocus>
标签,也没有在代码中这样做。如何防止EditText出现这种行为,以便只有用户点击EditText时才会出现键盘呢?
我有一个非常简单的布局,包括一个EditText和一个按钮。问题在于,当活动启动并且EditText获取焦点时,键盘会立即出现。我已经从XML中删除了</requestFocus>
标签,也没有在代码中这样做。如何防止EditText出现这种行为,以便只有用户点击EditText时才会出现键盘呢?
manifest.xml
文件中,在activity标签下添加以下内容:android:windowSoftInputMode="stateHidden"
adjustNothing
的答案更好。如果使用 stateHidden
,则在旋转时打开键盘将被关闭。这通常不是期望的行为。 - Sky Kelsey尝试这个
在你的AndroidManifest.xml
文件中写入以下代码
<activity
android:configChanges="keyboardHidden|orientation"
android:name=".YourActivityName"
android:windowSoftInputMode="stateHidden" />
i just added details..
在我看来,一个更优雅的解决方案是:
In XML add these lines to the main layout:
<LinearLayout
android:id="@+id/mainLayout"
android:focusable="true"
android:focusableInTouchMode="true"
...
.../>
And In Java in onCreate():
LinearLayout mainLayout = (LinearLayout) findViewById(R.id.mainLayout);
mainLayout.requestFocus();
android:focusableInTouchMode="true"
对我很有效。 - Marcelo Gracietti