opt: code

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-03 21:23:55 +08:00
parent 1d51db0a62
commit 321b7933d7
11 changed files with 139 additions and 134 deletions

View File

@@ -4,12 +4,14 @@ class CustomSliverPersistentHeaderDelegate
extends SliverPersistentHeaderDelegate {
CustomSliverPersistentHeaderDelegate({
required this.child,
required this.bgColor,
double extent = 45,
}) : _minExtent = extent,
_maxExtent = extent;
final double _minExtent;
final double _maxExtent;
final Widget child;
final Color bgColor;
@override
Widget build(
@@ -17,7 +19,10 @@ class CustomSliverPersistentHeaderDelegate
//创建child子组件
//shrinkOffsetchild偏移值minExtent~maxExtent
//overlapsContentSliverPersistentHeader覆盖其他子组件返回true否则返回false
return child;
return ColoredBox(
color: bgColor,
child: child,
);
}
//SliverPersistentHeader最大高度
@@ -31,6 +36,6 @@ class CustomSliverPersistentHeaderDelegate
@override
bool shouldRebuild(
covariant CustomSliverPersistentHeaderDelegate oldDelegate) {
return true;
return oldDelegate.bgColor != bgColor;
}
}

View File

@@ -11,7 +11,7 @@ extension BusinessTypeExtension on DynamicsType {
String get labels => ['全部', '投稿', '番剧', '专栏', 'UP'][index];
}
List tabsConfig = [
List get tabsConfig => [
{
'tag': 'all',
'value': DynamicsType.all,
@@ -42,4 +42,4 @@ List tabsConfig = [
'label': 'UP',
'enabled': true,
},
];
];

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
List defaultNavigationBars = [
List get defaultNavigationBars => [
{
'id': 0,
'icon': const Icon(
@@ -40,4 +40,4 @@ List defaultNavigationBars = [
'label': "媒体库",
'count': 0,
}
];
];

View File

@@ -13,7 +13,7 @@ extension TabTypeDesc on TabType {
String get id => ['live', 'rcmd', 'hot', 'rank', 'bangumi'][index];
}
List tabsConfig = [
List get tabsConfig => [
{
'icon': const Icon(
Icons.live_tv_outlined,
@@ -64,4 +64,4 @@ List tabsConfig = [
'ctr': Get.find<BangumiController>,
'page': const BangumiPage(),
},
];
];

View File

@@ -400,8 +400,8 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
SliverPersistentHeader replyPersistentHeader(BuildContext context) {
return SliverPersistentHeader(
delegate: CustomSliverPersistentHeaderDelegate(
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
color: Theme.of(context).colorScheme.surface,
height: 45,
padding: const EdgeInsets.only(left: 12, right: 6),
child: Row(

View File

@@ -73,10 +73,10 @@ class _MemberVideoState extends State<MemberVideo>
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 40,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 40,
padding: const EdgeInsets.fromLTRB(12, 0, 6, 0),
color: Theme.of(context).colorScheme.surface,
child: Row(
children: [
Obx(

View File

@@ -28,9 +28,9 @@ Widget searchArticlePanel(context, searchPanelCtr, LoadingState loadingState) {
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 40,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 40,
color: Theme.of(context).colorScheme.surface,
padding: const EdgeInsets.only(left: 25, right: 12),
child: Row(
children: [

View File

@@ -26,9 +26,9 @@ Widget searchUserPanel(context, searchPanelCtr, LoadingState loadingState) {
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 40,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 40,
color: Theme.of(context).colorScheme.surface,
padding: const EdgeInsets.only(left: 25, right: 12),
child: Row(
children: [

View File

@@ -24,9 +24,9 @@ Widget searchVideoPanel(context, ctr, LoadingState loadingState) {
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 34,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 34,
color: Theme.of(context).colorScheme.surface,
padding: const EdgeInsets.symmetric(horizontal: 12),
child: Row(
children: [

View File

@@ -112,10 +112,10 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 40,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 40,
padding: const EdgeInsets.fromLTRB(12, 0, 6, 0),
color: Theme.of(context).colorScheme.surface,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [

View File

@@ -134,10 +134,10 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
floating: true,
delegate: CustomSliverPersistentHeaderDelegate(
extent: 40,
bgColor: Theme.of(context).colorScheme.surface,
child: Container(
height: 40,
padding: const EdgeInsets.fromLTRB(12, 0, 6, 0),
color: Theme.of(context).colorScheme.surface,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [