diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7f2f2e..d7cb77cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.17.5 + +### Android specific + +- 处理 Modal 未能正确设置状态栏样式的问题 + ## 2.17.4 ### Android specific diff --git a/android/src/main/java/com/reactnative/hybridnavigation/HybridFragment.java b/android/src/main/java/com/reactnative/hybridnavigation/HybridFragment.java index ac30d7a9..a2bd9694 100644 --- a/android/src/main/java/com/reactnative/hybridnavigation/HybridFragment.java +++ b/android/src/main/java/com/reactnative/hybridnavigation/HybridFragment.java @@ -98,7 +98,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat super.onViewCreated(view, savedInstanceState); garden.setupToolbar(); } - + @NonNull @Override protected BarStyle preferredStatusBarStyle() { @@ -107,12 +107,25 @@ protected BarStyle preferredStatusBarStyle() { } if (getPresentationStyle() == PresentationStyle.OverFullScreen) { - return BarStyle.LightContent; + return SystemUI.activityStatusBarStyle(requireActivity()); } return super.preferredStatusBarStyle(); } + @Override + protected boolean preferredStatusBarHidden() { + if (forceTransparentDialogWindow()) { + return SystemUI.isStatusBarHidden(requireActivity().getWindow()); + } + + if (getPresentationStyle() == PresentationStyle.OverFullScreen) { + return SystemUI.isStatusBarHidden(requireActivity().getWindow()); + } + + return super.preferredStatusBarHidden(); + } + @Override protected boolean preferredNavigationBarHidden() { if (getPresentationStyle() == PresentationStyle.OverFullScreen) { diff --git a/package.json b/package.json index e909be53..617eefda 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "hybrid-navigation", "description": "React Native Navigation that supports seamless navigation between Native and React.", - "version": "2.17.4", + "version": "2.17.5", "main": "./lib/index.js", "typings": "./lib/index.d.ts", "react-native": "src/index",