在我的Android应用程序中,我使用以下命令隐藏了软键栏:
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
但是问题是当某些消息框或吐司显示时,然后再次显示软键。
当任何消息框或吐司显示时,我想隐藏软键。
有可能..我该怎么做。
最佳答案
对话框,意图选择器,软键盘和祝酒等消息使用的窗口与主应用程序窗口不同。
这些额外的Windows可以更改SystemUiVisibility和Window标志的出现和消失。
在大多数情况下,我发现可以工作的是在Activity类的onWindowFocusChanged
中设置标志:
public void onWindowFocusChanged(boolean hasFocus) {
if(hasFocus) {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
}
然后,您不再需要onCreate中的此代码,因为在活动创建时也会获得窗口焦点。
关于android - 如何隐藏android软键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45212729/