opt: danmaku bottomsheet

Closes #74

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-30 18:15:28 +08:00
parent 52f9b0f83c
commit 2973299e29
2 changed files with 12 additions and 9 deletions

View File

@@ -123,6 +123,8 @@ class _HeaderControlState extends State<HeaderControl> {
showModalBottomSheet(
elevation: 0,
context: context,
isScrollControlled: true,
clipBehavior: Clip.hardEdge,
backgroundColor: Colors.transparent,
builder: (context) {
return Container(
@@ -504,8 +506,6 @@ class _HeaderControlState extends State<HeaderControl> {
),
);
},
clipBehavior: Clip.hardEdge,
isScrollControlled: true,
);
}
@@ -1051,13 +1051,14 @@ class _HeaderControlState extends State<HeaderControl> {
await showModalBottomSheet(
context: context,
elevation: 0,
isScrollControlled: true,
backgroundColor: Colors.transparent,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return Container(
width: double.infinity,
height: 600,
height: Get.height / 2,
clipBehavior: Clip.hardEdge,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surface,

View File

@@ -239,10 +239,12 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
videoIntroController!.videoDetail.value.pages!.length > 1;
bool isBangumi = bangumiIntroController?.loadingState.value is Success;
bool anySeason = isSeason || isPage || isBangumi;
double widgetWidth =
isFullScreen && context.orientation == Orientation.landscape ? 42 : 35;
Map<BottomControlType, Widget> videoProgressWidgets = {
/// 上一集
BottomControlType.pre: Container(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
alignment: Alignment.center,
child: ComBtn(
@@ -274,7 +276,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
/// 下一集
BottomControlType.next: Container(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
alignment: Alignment.center,
child: ComBtn(
@@ -341,7 +343,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
() => plPlayerController.viewPointList.isEmpty
? const SizedBox.shrink()
: Container(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
alignment: Alignment.center,
child: ComBtn(
@@ -361,7 +363,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
/// 选集
BottomControlType.episode: Container(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
alignment: Alignment.center,
child: ComBtn(
@@ -450,7 +452,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
() => plPlayerController.vttSubtitles.isEmpty
? const SizedBox.shrink()
: SizedBox(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
child: PopupMenuButton<int>(
onSelected: (int value) {
@@ -523,7 +525,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
/// 全屏
BottomControlType.fullscreen: SizedBox(
width: isFullScreen ? 42 : 35,
width: widgetWidth,
height: 30,
child: Obx(() => ComBtn(
icon: Icon(