diff --git a/library/src/main/java/com/lxj/xpopup/core/FullScreenDialog.java b/library/src/main/java/com/lxj/xpopup/core/FullScreenDialog.java index d197fea9..0193cfcd 100644 --- a/library/src/main/java/com/lxj/xpopup/core/FullScreenDialog.java +++ b/library/src/main/java/com/lxj/xpopup/core/FullScreenDialog.java @@ -89,6 +89,7 @@ protected void onCreate(Bundle savedInstanceState) { // ViewGroup.LayoutParams layoutParams = contentView.getLayoutParams(); // layoutParams.height = getWindow().getAttributes().height; // setContentView(contentView, layoutParams); + initListener(); setContentView(contentView); } @@ -97,6 +98,23 @@ private int getNavigationBarColor(){ : contentView.popupInfo.navigationBarColor; } + private void initListener() { + final ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); + decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { + @Override + public void onSystemUiVisibilityChange(int visibility) { + if (!contentView.popupInfo.hasNavigationBar) { + hideNavigationBar(); + } + if (!contentView.popupInfo.hasStatusBar) { + getWindow().setFlags( + WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + } + }); + } + public boolean isFuckVIVORoom(){ //vivo的Y开头的8.0和8.1系统特殊(y91 y85 y97):dialog无法覆盖到状态栏,并且坐标系下移了一个状态栏的距离 boolean isYModel = android.os.Build.MODEL.contains("Y")