我一直在尝试在用户进入活动时隐藏键盘,我检查并尝试了各种方法和方法,但是我丢失的一种方法是单击按钮时隐藏键盘。我不希望键盘仅在按钮上隐藏,我希望在活动开始时将其隐藏。我也尝试将代码放在onCreate方法中,但仍然相同。我在Android武库上看到的另一个方法是单击屏幕的任何部分以隐藏键盘,这很不错,但我仍然更喜欢活动开始时隐藏的键盘,请问有什么方法可以在活动开始时隐藏键盘吗?
答案 0 :(得分:1)
您的解决方案在这里
还有另一点需要注意。默认情况下,Android会自动将初始焦点分配给EditText
中的第一个Activity
或可聚焦控件。当然,InputMethod(通常是软键盘)将通过显示自身来响应焦点事件。当设置为 stateAlwaysHidden 时, AndroidManifest.xml 中的 windowSoftInputMode 属性会指示键盘忽略此自动分配的初始焦点。
<activity
android:name=".MyActivity"
android:windowSoftInputMode="stateAlwaysHidden"/>
几乎令人难以置信的是,当您触摸控件时,它似乎无法阻止键盘打开(除非 focusable="false"
和/或 focusableInTouchMode="false"
>分配给控件)。显然,windowSoftInputMode设置仅适用于自动聚焦事件,不适用于由触摸事件触发的聚焦事件。
因此, stateAlwaysHidden
确实的名字很不准确。也许应该将其称为 ignoreInitialFocus
。
答案 1 :(得分:0)
将此行写在oncreate方法上
getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);