diff --git a/assets/translation.json b/assets/translation.json index 72b225e..a2a5063 100644 --- a/assets/translation.json +++ b/assets/translation.json @@ -388,6 +388,7 @@ "Suggestions": "建议", "Do not report any issues related to sources to App repo.": "请不要向App仓库报告任何与源相关的问题", "Show single image on first page": "在首页显示单张图片", + "Show system status bar": "显示系统状态栏", "Click to select an image": "点击选择一张图片", "Repo URL": "仓库地址", "The URL should point to a 'index.json' file": "该URL应指向一个'index.json'文件", @@ -786,6 +787,7 @@ "Suggestions": "建議", "Do not report any issues related to sources to App repo.": "請不要向App倉庫報告任何與源相關的問題", "Show single image on first page": "在首頁顯示單張圖片", + "Show system status bar": "顯示系統狀態欄", "Click to select an image": "點擊選擇一張圖片", "Repo URL": "倉庫地址", "The URL should point to a 'index.json' file": "該URL應指向一個'index.json'文件", diff --git a/lib/foundation/appdata.dart b/lib/foundation/appdata.dart index 182f73f..f6ba39d 100644 --- a/lib/foundation/appdata.dart +++ b/lib/foundation/appdata.dart @@ -198,6 +198,7 @@ class Settings with ChangeNotifier { 'showSingleImageOnFirstPage': false, 'enableDoubleTapToZoom': true, 'reverseChapterOrder': false, + 'showSystemStatusBar': false, }; operator [](String key) { diff --git a/lib/pages/reader/reader.dart b/lib/pages/reader/reader.dart index 8a30c64..66c23ac 100644 --- a/lib/pages/reader/reader.dart +++ b/lib/pages/reader/reader.dart @@ -164,7 +164,9 @@ class _ReaderState extends State } mode = ReaderMode.fromKey(appdata.settings['readerMode']); history = widget.history; - SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); + if (!appdata.settings['showSystemStatusBar']) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); + } if (appdata.settings['enableTurnPageByVolumeKey']) { handleVolumeEvent(); } diff --git a/lib/pages/reader/scaffold.dart b/lib/pages/reader/scaffold.dart index bfc1a86..aa23430 100644 --- a/lib/pages/reader/scaffold.dart +++ b/lib/pages/reader/scaffold.dart @@ -107,7 +107,11 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> { if (!_isOpen) { SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); } else { - SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); + if (!appdata.settings['showSystemStatusBar']) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); + } else { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); + } } setState(() { _isOpen = !_isOpen; diff --git a/lib/pages/settings/reader.dart b/lib/pages/settings/reader.dart index 3b5744d..bcdd3db 100644 --- a/lib/pages/settings/reader.dart +++ b/lib/pages/settings/reader.dart @@ -163,6 +163,13 @@ class _ReaderSettingsState extends State { widget.onChanged?.call("enableClockAndBatteryInfoInReader"); }, ).toSliver(), + _SwitchSetting( + title: "Show system status bar".tl, + settingKey: "showSystemStatusBar", + onChanged: () { + widget.onChanged?.call("showSystemStatusBar"); + }, + ).toSliver(), SelectSetting( title: "Quick collect image".tl, settingKey: "quickCollectImage",