feat: 新增设置:横屏时返回可以直接返回为横屏页面,无需经过竖屏

This commit is contained in:
orz12
2024-01-27 01:27:01 +08:00
parent 7bf9acb0cb
commit 8c1a34c133
5 changed files with 18 additions and 3 deletions

View File

@@ -116,6 +116,12 @@ class _PlaySettingState extends State<PlaySetting> {
setKey: SettingBoxKey.enableAutoExit,
defaultVal: false,
),
const SetSwitchItem(
title: '恢复竖屏',
subTitle: '退出全屏视频时自动恢复竖屏,关闭可以保持横屏状态',
setKey: SettingBoxKey.exitFullscreenAutoVertical,
defaultVal: true,
),
const SetSwitchItem(
title: '开启硬解',
subTitle: '以较低功耗播放视频',

View File

@@ -57,6 +57,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
// 自动退出全屏
late bool autoExitFullcreen;
late bool autoPlayEnable;
late bool exitFullscreenAutoVertical;
late bool autoPiP;
final Floating floating = Floating();
// 生命周期监听
@@ -85,6 +86,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
statusBarHeight = localCache.get('statusBarHeight');
autoExitFullcreen =
setting.get(SettingBoxKey.enableAutoExit, defaultValue: false);
exitFullscreenAutoVertical = setting
.get(SettingBoxKey.exitFullscreenAutoVertical, defaultValue: true);
autoPlayEnable =
setting.get(SettingBoxKey.autoPlayEnable, defaultValue: true);
autoPiP = setting.get(SettingBoxKey.autoPiP, defaultValue: false);
@@ -345,7 +348,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
.triggerFullScreen(status: false);
}
if (MediaQuery.of(context).orientation ==
Orientation.landscape) {
Orientation.landscape &&
exitFullscreenAutoVertical) {
verticalScreen();
}
},

View File

@@ -1069,7 +1069,9 @@ class _HeaderControlState extends State<HeaderControl> {
else
<void>{
if (MediaQuery.of(context).orientation ==
Orientation.landscape)
Orientation.landscape &&
setting.get(SettingBoxKey.exitFullscreenAutoVertical,
defaultValue: true))
{
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,

View File

@@ -995,7 +995,9 @@ class PlPlayerController {
StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE);
// Get.back();
exitFullScreen();
if (setting.get(SettingBoxKey.exitFullscreenAutoVertical, defaultValue: true)) {
await verticalScreen();
}
toggleFullScreen(false);
}
}

View File

@@ -107,6 +107,7 @@ class SettingBoxKey {
enableAutoBrightness = 'enableAutoBrightness',
enableAutoEnter = 'enableAutoEnter',
enableAutoExit = 'enableAutoExit',
exitFullscreenAutoVertical = 'exitFullscreenAutoVertical',
p1080 = 'p1080',
enableCDN = 'enableCDN',
autoPiP = 'autoPiP',