首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导航条以沉浸模式显示在PopupMenu上

导航条以沉浸模式显示在PopupMenu上
EN

Stack Overflow用户
提问于 2017-05-31 11:20:46
回答 1查看 820关注 0票数 1

我正在创建一个相机应用程序与一些相机设置弹出菜单。问题是,当我单击显示弹出式菜单的按钮时,会出现底部导航条。我已经在网上搜索了一个解决方案,但是到目前为止,non一直在为我工作。

代码语言:javascript
复制
mChangeSettingsButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            final PopupMenu changeSettingsPopupMenu = new PopupMenu(Camera2VideoImageActivity.this, mChangeSettingsButton) {
                @Override
                public void show() {

                    getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
                    super.show();

                    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);


                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);

                }


            };changeSettingsPopupMenu.getMenuInflater().inflate(R.menu.change_setting_popup_menu, changeSettingsPopupMenu.getMenu());

            SubMenu changeImageResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 100, 0, "Set Image Resolution ");
            SubMenu changeVideoResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 101, 0, "Set Video Resolution");
            changeSettingsPopupMenu.show();
}

我的主要活动还有以下几点:

代码语言:javascript
复制
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        getWindow().getDecorView().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);
    }

代码语言:javascript
复制
<iframe src="https://giphy.com/embed/3oKIPh2W4bEQrGzmqQ" width="272" height="480" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/3oKIPh2W4bEQrGzmqQ">via GIPHY</a></p>

发生情况的GIF:http://gph.is/2rjPdny

编辑:谢谢你的回复!当我尝试的时候我就明白了。这不起作用,点击查看图像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 11:28:12

试试这个:

代码语言:javascript
复制
changeSettingsPopupMenu.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
        changeSettingsPopupMenu.getWindow().getDecorView().setSystemUiVisibility(getWindow().getDecorView().getSystemUiVisibility());
 changeSettingsPopupMenu.show();
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44283418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档