Compare commits

..

3 Commits

Author SHA1 Message Date
bggRGjQaUbCoE
924fb4bf81 fix applinks
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-06-01 15:30:26 +08:00
bggRGjQaUbCoE
f60c0b9a10 opt dyn topic
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-06-01 15:02:38 +08:00
bggRGjQaUbCoE
7c0d161b9a fix live room
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-06-01 14:27:35 +08:00
3 changed files with 83 additions and 56 deletions

View File

@@ -58,6 +58,9 @@
android:supportsPictureInPicture="true" android:supportsPictureInPicture="true"
android:resizeableActivity="true" android:resizeableActivity="true"
> >
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
<!-- Specifies an Android theme to apply to this Activity as soon as <!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues while the Flutter UI initializes. After that, this theme continues

View File

@@ -119,15 +119,17 @@ class _DynamicSliverAppBarMediumState extends State<DynamicSliverAppBarMedium> {
}); });
} }
@override Orientation? _orientation;
void didChangeDependencies() {
_height = 0;
_updateHeight();
super.didChangeDependencies();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final orientation = MediaQuery.of(context).orientation;
if (orientation != _orientation) {
_orientation = orientation;
_height = 0;
_updateHeight();
}
//Needed to lay out the flexibleSpace the first time, so we can calculate its intrinsic height //Needed to lay out the flexibleSpace the first time, so we can calculate its intrinsic height
if (_height == 0) { if (_height == 0) {
return SliverToBoxAdapter( return SliverToBoxAdapter(

View File

@@ -22,7 +22,7 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:canvas_danmaku/canvas_danmaku.dart'; import 'package:canvas_danmaku/canvas_danmaku.dart';
import 'package:floating/floating.dart'; import 'package:floating/floating.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show MethodChannel; import 'package:flutter/services.dart' show MethodChannel, SystemUiOverlayStyle;
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:screen_brightness/screen_brightness.dart'; import 'package:screen_brightness/screen_brightness.dart';
@@ -207,57 +207,79 @@ class _LiveRoomPageState extends State<LiveRoomPage>
); );
} }
SystemUiOverlayStyle _systemOverlayStyleForBrightness(
Brightness brightness, [
Color? backgroundColor,
]) {
final SystemUiOverlayStyle style = brightness == Brightness.dark
? SystemUiOverlayStyle.light
: SystemUiOverlayStyle.dark;
// For backward compatibility, create an overlay style without system navigation bar settings.
return SystemUiOverlayStyle(
statusBarColor: backgroundColor,
statusBarBrightness: style.statusBarBrightness,
statusBarIconBrightness: style.statusBarIconBrightness,
systemStatusBarContrastEnforced: style.systemStatusBarContrastEnforced,
);
}
Widget childWhenDisabled(bool isPortrait) { Widget childWhenDisabled(bool isPortrait) {
return ColoredBox( return AnnotatedRegion<SystemUiOverlayStyle>(
color: Colors.black, value: _systemOverlayStyleForBrightness(
child: Stack( Brightness.dark,
clipBehavior: Clip.none, Theme.of(context).useMaterial3 ? const Color(0x00000000) : null,
children: [ ),
Obx( child: ColoredBox(
() => isFullScreen color: Colors.black,
? const SizedBox.shrink() child: Stack(
: Positioned.fill( clipBehavior: Clip.none,
child: Opacity( children: [
opacity: 0.6, Obx(
child: _liveRoomController.roomInfoH5.value?.roomInfo () => isFullScreen
?.appBackground?.isNotEmpty == ? const SizedBox.shrink()
true : Positioned.fill(
? CachedNetworkImage( child: Opacity(
fit: BoxFit.cover, opacity: 0.6,
width: Get.width, child: _liveRoomController.roomInfoH5.value?.roomInfo
height: Get.height, ?.appBackground?.isNotEmpty ==
imageUrl: _liveRoomController.roomInfoH5.value! true
.roomInfo!.appBackground!.http2https, ? CachedNetworkImage(
) fit: BoxFit.cover,
: Image.asset( width: Get.width,
'assets/images/live/default_bg.webp', height: Get.height,
fit: BoxFit.cover, imageUrl: _liveRoomController.roomInfoH5.value!
), .roomInfo!.appBackground!.http2https,
)
: Image.asset(
'assets/images/live/default_bg.webp',
fit: BoxFit.cover,
),
),
), ),
), ),
), SafeArea(
SafeArea( top: !isFullScreen,
top: !isFullScreen, left: !isFullScreen,
left: !isFullScreen, right: !isFullScreen,
right: !isFullScreen, bottom: false,
bottom: false, child: isPortrait
child: isPortrait ? Obx(
? Obx( () {
() { if (_liveRoomController.isPortrait.value) {
if (_liveRoomController.isPortrait.value) { return _buildPP;
return _buildPP; }
} return _buildPH;
return _buildPH; },
}, )
) : Column(
: Column( children: [
children: [ Obx(() => _buildAppBar),
Obx(() => _buildAppBar), _buildBodyH,
_buildBodyH, ],
], ),
), ),
), ],
], ),
), ),
); );
} }