Résoudre le problème selon lequel Android ne peut pas masquer la version finale du bouton virtuel après l'affichage de PopupWindow

Après avoir défini le bouton virtuel de masquage de l'ombre pour l'activité, le bouton virtuel réapparaît après l'apparition de la fenêtre contextuelle. Baidu a cherché partout, mais personne ne peut le résoudre. Copiez simplement le code suivant pour réaliser le masquage de l'ombre. Cela fonctionne sur la version Android Highland dans mon test personnel :

 /**
     * 影藏PopupWindow页面弹出时的虚拟按键
     */
    public static void hideBottomUIMenuForPopupWindow(final PopupWindow popupWindow) {
        if (popupWindow != null && popupWindow.getContentView() != null) {
            popupWindow.getContentView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
                @Override
                public void onSystemUiVisibilityChange(int visibility) {
                    //        //保持布局状态
                    int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
                            //布局位于状态栏下方
                            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
                            //全屏
                            View.SYSTEM_UI_FLAG_FULLSCREEN |
                            //隐藏导航栏
                            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
                    if (Build.VERSION.SDK_INT >= 19) {
                        uiOptions |= 0x00001000;
                    } else {
                        uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
                    }
                    popupWindow.getContentView().setSystemUiVisibility(uiOptions);
                }
            });
        }
    }

 

Je suppose que tu aimes

Origine blog.csdn.net/zhao8856234/article/details/117789795
conseillé
Classement