隐藏Android键盘

时间:2018-11-15 01:57:22

标签: android android-studio android-layout keyboard

我一直在尝试在用户进入活动时隐藏键盘,我检查并尝试了各种方法和方法,但是我丢失的一种方法是单击按钮时隐藏键盘。我不希望键盘仅在按钮上隐藏,我希望在活动开始时将其隐藏。我也尝试将代码放在onCreate方法中,但仍然相同。我在Android武库上看到的另一个方法是单击屏幕的任何部分以隐藏键盘,这很不错,但我仍然更喜欢活动开始时隐藏的键盘,请问有什么方法可以在活动开始时隐藏键盘吗?

2 个答案:

答案 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);