diff --git a/lib/pages/bangumi/introduction/view.dart b/lib/pages/bangumi/introduction/view.dart index 70c54dc54..404e4e7a8 100644 --- a/lib/pages/bangumi/introduction/view.dart +++ b/lib/pages/bangumi/introduction/view.dart @@ -174,9 +174,13 @@ class _BangumiInfoState extends State { @override Widget build(BuildContext context) { final ThemeData t = Theme.of(context); + bool isLandscape = + MediaQuery.of(context).orientation == Orientation.landscape; return SliverPadding( - padding: const EdgeInsets.only( - left: StyleString.safeSpace, right: StyleString.safeSpace, top: 20), + padding: EdgeInsets.only( + left: StyleString.safeSpace, + right: StyleString.safeSpace, + top: isLandscape ? 10 : 20), sliver: SliverToBoxAdapter( child: !widget.loadingStatus || bangumiItem != null ? Column( @@ -188,8 +192,8 @@ class _BangumiInfoState extends State { Stack( children: [ NetworkImgLayer( - width: 105, - height: 160, + width: isLandscape ? 160 : 105, + height: isLandscape ? 105 : 160, src: !widget.loadingStatus ? widget.bangumiDetail!.cover! : bangumiItem!.cover!, @@ -212,7 +216,7 @@ class _BangumiInfoState extends State { child: InkWell( onTap: () => showIntroDetail(), child: SizedBox( - height: 158, + height: isLandscape ? 103 : 158, child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, @@ -234,8 +238,8 @@ class _BangumiInfoState extends State { ), const SizedBox(width: 20), SizedBox( - width: 34, - height: 34, + width: 30, + height: 30, child: IconButton( tooltip: '收藏', style: ButtonStyle( @@ -280,7 +284,7 @@ class _BangumiInfoState extends State { ), ], ), - const SizedBox(height: 6), + SizedBox(height: isLandscape ? 2 : 6), Row( children: [ Text( @@ -327,7 +331,7 @@ class _BangumiInfoState extends State { const Spacer(), Text( '简介:${!widget.loadingStatus ? widget.bangumiDetail!.evaluate! : bangumiItem!.evaluate!}', - maxLines: 3, + maxLines: isLandscape ? 1 : 3, overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 13, @@ -388,9 +392,9 @@ class _BangumiInfoState extends State { builder: (BuildContext context, BoxConstraints constraints) { return Material( child: Padding( - padding: const EdgeInsets.only(top: 16, bottom: 8), + padding: const EdgeInsets.only(top: 1), child: SizedBox( - height: constraints.maxWidth / 5 * 0.8, + height: 48, child: GridView.count( primary: false, padding: EdgeInsets.zero, @@ -420,7 +424,8 @@ class _BangumiInfoState extends State { loadingStatus: false, semanticsLabel: '投币', text: !widget.loadingStatus - ? Utils.numFormat(widget.bangumiDetail!.stat!['coins']!) + ? Utils.numFormat( + widget.bangumiDetail!.stat!['coins']!) : Utils.numFormat(bangumiItem!.stat!['coins']!)), ), Obx( @@ -432,7 +437,8 @@ class _BangumiInfoState extends State { loadingStatus: false, semanticsLabel: '收藏', text: !widget.loadingStatus - ? Utils.numFormat(widget.bangumiDetail!.stat!['favorite']!) + ? Utils.numFormat( + widget.bangumiDetail!.stat!['favorite']!) : Utils.numFormat(bangumiItem!.stat!['favorite']!)), ), ActionItem( diff --git a/lib/pages/bangumi/widgets/bangumi_panel.dart b/lib/pages/bangumi/widgets/bangumi_panel.dart index 94c5c9ed8..478bdf0ba 100644 --- a/lib/pages/bangumi/widgets/bangumi_panel.dart +++ b/lib/pages/bangumi/widgets/bangumi_panel.dart @@ -204,7 +204,7 @@ class _BangumiPanelState extends State { return Column( children: [ Padding( - padding: const EdgeInsets.only(top: 10, bottom: 6), + padding: const EdgeInsets.only(top: 5, bottom: 3), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ diff --git a/lib/pages/video/detail/introduction/view.dart b/lib/pages/video/detail/introduction/view.dart index a9163d3e8..2d1e14ace 100644 --- a/lib/pages/video/detail/introduction/view.dart +++ b/lib/pages/video/detail/introduction/view.dart @@ -396,7 +396,7 @@ class _VideoInfoState extends State with TickerProviderStateMixin { onTap: onPushMember, child: Container( padding: const EdgeInsets.symmetric( - vertical: 12, horizontal: 4), + vertical: 8, horizontal: 4), child: Row( children: [ NetworkImgLayer( @@ -491,8 +491,8 @@ class _VideoInfoState extends State with TickerProviderStateMixin { return LayoutBuilder( builder: (BuildContext context, BoxConstraints constraints) { return Container( - margin: const EdgeInsets.only(top: 6, bottom: 4), - height: constraints.maxWidth / 5 * 0.8, + margin: const EdgeInsets.only(top: 1), + height: 48, child: GridView.count( primary: false, padding: EdgeInsets.zero, diff --git a/lib/pages/video/detail/introduction/widgets/action_item.dart b/lib/pages/video/detail/introduction/widgets/action_item.dart index a036101d1..752923ad9 100644 --- a/lib/pages/video/detail/introduction/widgets/action_item.dart +++ b/lib/pages/video/detail/introduction/widgets/action_item.dart @@ -41,7 +41,7 @@ class ActionItem extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - const SizedBox(height: 4), + // const SizedBox(height: 2), Icon( selectStatus ? selectIcon!.icon! @@ -51,7 +51,7 @@ class ActionItem extends StatelessWidget { ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.outline, ), - const SizedBox(height: 6), + const SizedBox(height: 3), AnimatedOpacity( opacity: loadingStatus! ? 0 : 1, duration: const Duration(milliseconds: 200),