@@ -965,32 +965,55 @@ class BottomActionBar extends StatelessWidget {
965965 colors: [Colors .transparent, Colors .black45],
966966 ),
967967 ),
968- child: SingleChildScrollView (
969- scrollDirection: Axis .horizontal,
970- physics: const BouncingScrollPhysics (),
971- child: Row (
972- children: < Widget > [
973- PlayPauseButton (controller: controller),
974- RefreshButton (controller: controller),
975- FavoriteButton (controller: controller),
976- DanmakuButton (controller: controller),
977- SettingsButton (controller: controller),
978- const Spacer (),
979- if (controller.isWindowFullscreen.value || controller.isFullscreen.value) ...[
980- ResolutionSelectorButton (controller: controller),
981- LineSelectorButton (controller: controller),
982- ],
983- VideoFitSetting (controller: controller),
984- SizedBox (width: 8 ),
985- OverlayVolumeControl (controller: controller),
986- SizedBox (width: 8 ),
987- if (controller.supportWindowFull && ! controller.isFullscreen.value) ...[
988- ExpandWindowButton (controller: controller),
989- SizedBox (width: 8 ),
990- ],
991- if (! controller.isWindowFullscreen.value) ExpandButton (controller: controller),
992- ],
993- ),
968+ child: LayoutBuilder (
969+ builder: (context, constraints) {
970+ return SingleChildScrollView (
971+ scrollDirection: Axis .horizontal,
972+ physics: const BouncingScrollPhysics (parent: AlwaysScrollableScrollPhysics ()),
973+ child: ConstrainedBox (
974+ constraints: BoxConstraints (minWidth: constraints.maxWidth),
975+ child: Padding (
976+ padding: const EdgeInsets .symmetric (horizontal: 8 ),
977+ child: Row (
978+ mainAxisSize: MainAxisSize .max,
979+ mainAxisAlignment: MainAxisAlignment .spaceBetween,
980+ children: < Widget > [
981+ // 左侧组
982+ Row (
983+ mainAxisSize: MainAxisSize .min,
984+ children: [
985+ PlayPauseButton (controller: controller),
986+ RefreshButton (controller: controller),
987+ FavoriteButton (controller: controller),
988+ DanmakuButton (controller: controller),
989+ SettingsButton (controller: controller),
990+ ],
991+ ),
992+
993+ Row (
994+ mainAxisSize: MainAxisSize .min,
995+ children: [
996+ if (controller.isWindowFullscreen.value || controller.isFullscreen.value) ...[
997+ ResolutionSelectorButton (controller: controller),
998+ LineSelectorButton (controller: controller),
999+ ],
1000+ VideoFitSetting (controller: controller),
1001+ const SizedBox (width: 8 ),
1002+ OverlayVolumeControl (controller: controller),
1003+ const SizedBox (width: 8 ),
1004+ if (controller.supportWindowFull && ! controller.isFullscreen.value) ...[
1005+ ExpandWindowButton (controller: controller),
1006+ const SizedBox (width: 8 ),
1007+ ],
1008+ if (! controller.isWindowFullscreen.value) ExpandButton (controller: controller),
1009+ ],
1010+ ),
1011+ ],
1012+ ),
1013+ ),
1014+ ),
1015+ );
1016+ },
9941017 ),
9951018 ),
9961019 );
0 commit comments