mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: 全屏新增强制按重力旋转
This commit is contained in:
@@ -1173,6 +1173,10 @@ class PlPlayerController {
|
|||||||
if (mode == FullScreenMode.none) {
|
if (mode == FullScreenMode.none) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (mode == FullScreenMode.gravity) {
|
||||||
|
fullAutoModeForceSensor();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mode == FullScreenMode.vertical ||
|
if (mode == FullScreenMode.vertical ||
|
||||||
(mode == FullScreenMode.auto && direction.value == 'vertical') ||
|
(mode == FullScreenMode.auto && direction.value == 'vertical') ||
|
||||||
(mode == FullScreenMode.ratio &&
|
(mode == FullScreenMode.ratio &&
|
||||||
|
|||||||
@@ -10,14 +10,23 @@ enum FullScreenMode {
|
|||||||
horizontal,
|
horizontal,
|
||||||
// 屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏
|
// 屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏
|
||||||
ratio,
|
ratio,
|
||||||
|
// 强制重力转屏(仅安卓)
|
||||||
|
gravity,
|
||||||
}
|
}
|
||||||
|
|
||||||
extension FullScreenModeDesc on FullScreenMode {
|
extension FullScreenModeDesc on FullScreenMode {
|
||||||
String get description => ['按视频方向(默认)', '不改变当前方向','强制竖屏', '强制横屏', '屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏'][index];
|
String get description => [
|
||||||
|
'按视频方向(默认)',
|
||||||
|
'不改变当前方向',
|
||||||
|
'强制竖屏',
|
||||||
|
'强制横屏',
|
||||||
|
'屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏',
|
||||||
|
'忽略系统方向锁定,强制按重力转屏(仅安卓)'
|
||||||
|
][index];
|
||||||
}
|
}
|
||||||
|
|
||||||
extension FullScreenModeCode on FullScreenMode {
|
extension FullScreenModeCode on FullScreenMode {
|
||||||
static final List<int> _codeList = [0, 1, 2, 3, 4];
|
static final List<int> _codeList = [0, 1, 2, 3, 4, 5];
|
||||||
int get code => _codeList[index];
|
int get code => _codeList[index];
|
||||||
|
|
||||||
static FullScreenMode? fromCode(int code) {
|
static FullScreenMode? fromCode(int code) {
|
||||||
|
|||||||
@@ -58,6 +58,10 @@ Future<void> autoScreen() async {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> fullAutoModeForceSensor() async {
|
||||||
|
await AutoOrientation.fullAutoMode(forceSensor: true);
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> hideStatusBar() async {
|
Future<void> hideStatusBar() async {
|
||||||
await SystemChrome.setEnabledSystemUIMode(
|
await SystemChrome.setEnabledSystemUIMode(
|
||||||
SystemUiMode.immersiveSticky,
|
SystemUiMode.immersiveSticky,
|
||||||
|
|||||||
@@ -129,10 +129,11 @@ packages:
|
|||||||
auto_orientation:
|
auto_orientation:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: auto_orientation
|
path: "."
|
||||||
sha256: cd56bb59b36fa54cc28ee254bc600524f022a4862f31d5ab20abd7bb1c54e678
|
ref: master
|
||||||
url: "https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"
|
resolved-ref: "4d28c7d6dad6c099a44058527ddc65405a94b4d0"
|
||||||
source: hosted
|
url: "https://github.com/orz12/auto_orientation.git"
|
||||||
|
source: git
|
||||||
version: "2.3.1"
|
version: "2.3.1"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
|
|||||||
Reference in New Issue
Block a user