软键盘最小化/关闭时自动隐藏Android底栏

时间:2017-10-13 01:51:03

标签: android

当软键盘最小化时,我遇到了问题,即使已经使用SYSTEM_UI_FLAG_IMMERSIVE_STICKY

,底部栏仍然存在
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    final View decorView = getWindow().getDecorView();
    //ConstraintLayout rl = (ConstraintLayout)findViewById(R.id);
    if (hasFocus) {
        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
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

    }
}

1 个答案:

答案 0 :(得分:0)

使用此侦听器解决了问题

View decorView = getWindow().getDecorView();
    decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
                @Override
                public void onSystemUiVisibilityChange(int visibility) {
                    if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                        onWindowFocusChanged(true);
                    }
                }
            });