小编Tim*_*thy的帖子

键盘弹出时如何保持全屏

我最近在做我的全屏项目,它是通过Immersive mode实现的。除了一部分之外,它可以正常工作:

当键盘弹出时,隐藏状态栏也会出现。

我怎样才能摆脱它?当我单击布局中的 edittext 时,我希望状态栏保持隐藏。

这是我的代码:

    int flag = View.SYSTEM_UI_FLAG_LOW_PROFILE
                    |View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    |View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    |View.SYSTEM_UI_FLAG_FULLSCREEN
                    |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    |View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mDecorView = activity.getWindow().getDecorView();
        mDecorView.setSystemUiVisibility(flag);     
        mDecorView.setOnSystemUiVisibilityChangeListener(
            new View.OnSystemUiVisibilityChangeListener() {
            @Override
            public void onSystemUiVisibilityChange(int visibility) {
                if ((visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0) {
                    mDecorView.setSystemUiVisibility(flag);
                }
            }
        });
    }

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if ((visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0) {
            mDecorView.setSystemUiVisibility(flag);
        }
    }
Run Code Online (Sandbox Code Playgroud)

它必须有一些绕行解决方案。我已经看到一些应用程序即使在键盘弹出时也能很好地隐藏状态栏。

任何想法如何解决这个问题?

android android-softkeyboard android-fullscreen

5
推荐指数
1
解决办法
2082
查看次数