opt live room

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-18 15:49:05 +08:00
parent 9d9784f3c2
commit 91a1b77d83
2 changed files with 53 additions and 32 deletions

View File

@@ -535,10 +535,10 @@ class _LiveRoomPageState extends State<LiveRoomPage>
Widget get _buildInputWidget => Container( Widget get _buildInputWidget => Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 5,
left: 10, left: 10,
top: 10,
right: 10, right: 10,
bottom: 25 + MediaQuery.paddingOf(context).bottom, bottom: 15 + MediaQuery.paddingOf(context).bottom,
), ),
decoration: const BoxDecoration( decoration: const BoxDecoration(
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
@@ -550,39 +550,42 @@ class _LiveRoomPageState extends State<LiveRoomPage>
), ),
color: Color(0x1AFFFFFF), color: Color(0x1AFFFFFF),
), ),
child: Row( child: GestureDetector(
children: [ onTap: onSendDanmaku,
Obx( behavior: HitTestBehavior.opaque,
() => IconButton( child: Padding(
onPressed: () { padding: const EdgeInsets.only(top: 5, bottom: 10),
plPlayerController.isOpenDanmu.value = child: Row(
!plPlayerController.isOpenDanmu.value; children: [
GStorage.setting.put(SettingBoxKey.enableShowDanmaku, Obx(
plPlayerController.isOpenDanmu.value); () => IconButton(
}, onPressed: () {
icon: Icon( plPlayerController.isOpenDanmu.value =
plPlayerController.isOpenDanmu.value !plPlayerController.isOpenDanmu.value;
? Icons.subtitles_outlined GStorage.setting.put(SettingBoxKey.enableShowDanmaku,
: Icons.subtitles_off_outlined, plPlayerController.isOpenDanmu.value);
color: _color, },
icon: Icon(
plPlayerController.isOpenDanmu.value
? Icons.subtitles_outlined
: Icons.subtitles_off_outlined,
color: _color,
),
),
), ),
), Expanded(
), child: Text(
Expanded( '发送弹幕',
child: GestureDetector( style: TextStyle(color: _color),
onTap: onSendDanmaku, ),
behavior: HitTestBehavior.opaque,
child: Text(
'发送弹幕',
style: TextStyle(color: _color),
), ),
), IconButton(
onPressed: () => onSendDanmaku(true),
icon: Icon(Icons.emoji_emotions_outlined, color: _color),
),
],
), ),
IconButton( ),
onPressed: () => onSendDanmaku(true),
icon: Icon(Icons.emoji_emotions_outlined, color: _color),
),
],
), ),
); );

View File

@@ -4,6 +4,7 @@ import 'package:PiliPlus/plugin/pl_player/controller.dart';
import 'package:PiliPlus/utils/page_utils.dart'; import 'package:PiliPlus/utils/page_utils.dart';
import 'package:floating/floating.dart'; import 'package:floating/floating.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
@@ -32,6 +33,23 @@ class LiveHeaderControl extends StatelessWidget {
title: Row( title: Row(
spacing: 10, spacing: 10,
children: [ children: [
if (plPlayerController.isFullScreen.value)
SizedBox(
width: 35,
height: 35,
child: IconButton(
tooltip: '返回',
icon: const Icon(
FontAwesomeIcons.arrowLeft,
size: 15,
),
style: ButtonStyle(
padding: WidgetStateProperty.all(EdgeInsets.zero),
),
onPressed: () =>
plPlayerController.triggerFullScreen(status: false),
),
),
if (title != null) if (title != null)
Expanded( Expanded(
child: Column( child: Column(