【问题标题】:Android: How to hide soft keyboard on screen off?Android:如何在屏幕上隐藏软键盘?
【发布时间】:2015-10-26 15:40:18
【问题描述】:

我正在开发一个屏幕锁定应用程序。当屏幕关闭时,它会启动全屏活动。还有一个问题:如果用户在屏幕关闭时使用软键盘,键盘不会离开屏幕。它看起来像全屏活动和上面的键盘。所以用户无法解锁设备,因为返回和主页按钮被禁用并且键盘隐藏了解锁区域。

我试过用:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

其中视图是 getCurrentFocus()、getWindow().getDecorView 和我的布局上的一些视图 - 没有任何效果,因为键盘被另一个应用程序调用。

另外,我的清单的一部分:

<activity
        android:name=".FullscreenActivity"
        android:windowSoftInputMode="stateHidden" .../>

它也不起作用。那么,如何全局隐藏键盘呢?

【问题讨论】:

  • android:imeOptions="flagNoExtractUi" 进入键盘获得焦点的字段。
  • 检查这个属性 android:configChanges
  • android:imeOptions="flagNoExtractUi" 不起作用。调用键盘的第三方软件无法设置
  • @IntelliJAmiya,我在清单中添加了字符串 android:configChanges="keyboard|keyboardHidden",并且在活动类中我覆盖了 onConfigurationChange() 方法。我把 Log.d("111", "test");在里面。所以,没关系,屏幕上是否有键盘,日志不会出现

标签: android keyboard


【解决方案1】:

试试这个方法,android:windowSoftInputMode="stateAlwaysHidden" 详细信息您可以访问此链接:
https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

【讨论】:

  • 不,它也不起作用。我刚刚检查过了。而 stateAlwaysHidden 的意思是“当 Activity 的主窗口有输入焦点时,软键盘总是隐藏的。”。我的活动没有输入焦点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2018-11-19
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 2011-03-25
相关资源
最近更新 更多