失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android软键盘和导航栏冲突 Android隐藏导航栏/保持沉浸式模式与软键盘外观

android软键盘和导航栏冲突 Android隐藏导航栏/保持沉浸式模式与软键盘外观

时间:2021-07-05 18:10:11

相关推荐

android软键盘和导航栏冲突 Android隐藏导航栏/保持沉浸式模式与软键盘外观

我想出了一个解决方法,检查每个内部的导航栏的状态,尝试隐藏它,并再次检查(再次).

这是一些代码,确保在软键盘关闭后的2秒内导航栏被隐藏.

private final Runnable checkSystemUiRunnable = new Runnable() {

@Override

public void run() {

checkHideSystemUI();

}

};

private void checkHideSystemUI() {

// Check if system UI is shown and hide it by post a delayed handler

if (isSystemUiShown) {

hideSystemUI();

handler.postDelayed(checkSystemUiRunnable, SYSTEM_UI_HIDE_DELAY);

}

}

private void hideSystemUI() {

decorView.setSystemUiVisibility(

View.SYSTEM_UI_FLAG_LAYOUT_STABLE

| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar

| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar

| View.SYSTEM_UI_FLAG_IMMERSIVE);

}

// In onCreate()

decorView.setOnSystemUiVisibilityChangeListener(

new View.OnSystemUiVisibilityChangeListener() {

@Override

public void onSystemUiVisibilityChange(int visibility) {

if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {

handler.postDelayed(checkSystemUiRunnable, SYSTEM_UI_HIDE_DELAY);

isSystemUiShown = true;

} else {

isSystemUiShown = false;

}

}

});

如果觉得《android软键盘和导航栏冲突 Android隐藏导航栏/保持沉浸式模式与软键盘外观》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。