feat: 分类页面优化,播放器详情处理当前集,首页的优化。图片导入。

This commit is contained in:
chengsiwen committed 2026-07-01 08:53:40 +08:00
1 parent 4ccea08472
commit 2f1ec27802
28 files changed
+868 -568

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart';
import 'package:skywood/main/lib_file.dart';
/// 自定义 GIF Header
class GifHeader extends Header {
const GifHeader({
super.triggerOffset = 80,
super.clamping = false,
this.height = 80,
this.size = 74,
});
final double height;
final double size;
@override
Widget build(BuildContext context, IndicatorState state) {
if (state.mode == IndicatorMode.inactive ||
state.mode == IndicatorMode.processed ||
state.mode == IndicatorMode.done) {
return const SizedBox.shrink();
}
return SizedBox(
height: height,
child: Center(
child: Image.asset(
ConstImg.loading,
width: size,
height: size,
fit: BoxFit.contain,
),
),
);
}
}
+17 -20
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:skywood/main/lib_file.dart';
// import 'package:lottie/lottie.dart';
// 加载数据的函数类型
@@ -83,26 +84,22 @@ class AppToast {
}
/// 显示 Lottie 加载提示
// static Future<T?> showLottieLoading<T>({
// Duration? displayTime,
// }) async {
// await dismiss();
// return SmartDialog.showLoading<T>(
// displayTime: displayTime ?? const Duration(seconds: 5),
// maskColor: Colors.transparent,
// builder: (_) {
// return SizedBox(
// width: 120,
// height: 120,
// child: Lottie.asset(
// 'assets/bagua.json',
// fit: BoxFit.contain,
// repeat: true,
// ),
// );
// },
// );
// }
static Future<T?> showLottieLoading<T>({
Duration? displayTime,
}) async {
await dismiss();
return SmartDialog.showLoading<T>(
displayTime: displayTime ?? const Duration(seconds: 5),
maskColor: Colors.transparent,
builder: (_) {
return SizedBox(
width: 120,
height: 120,
child: Image.asset(ConstImg.loading, fit: BoxFit.fill),
);
},
);
}
/// 显示加载提示
static Future<T?> showLoading<T>({
+12 -2
View File
@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
// import 'package:lottie/lottie.dart';
// import 'package:flutter_svg/flutter_svg.dart';
class ConstImg {
@@ -16,6 +15,8 @@ class ConstImg {
static const String tabLikeUnselect = "assets/common/tab_like_unselect.png";
static const String tabMineSelected = "assets/common/tab_mine_selected.png";
static const String tabMineUnselect = "assets/common/tab_mine_unselect.png";
// loading
static const String loading = "assets/common/loading.gif";
static const String homeBg = "assets/imgs/home_bg.png";
// home_card_bg
@@ -42,6 +43,11 @@ class ConstImg {
static const String yellowBg = "assets/imgs/yellow_bg.png";
static const String purpleBg = "assets/imgs/purple_bg.png";
static const String redBg = "assets/imgs/red_bg.png";
// box cl gift opened
static const String boxBtn = "assets/imgs/box_button.png";
static const String boxClose = "assets/imgs/box_close.png";
static const String boxOpened = "assets/imgs/box_opened.png";
static const String boxGift = "assets/imgs/box_gift.png";
/// pics
static const String delete = "assets/pics/delete.png";
@@ -80,7 +86,11 @@ class ConstImg {
static const String sectionBg2 = "assets/mine/section_bg2.png";
static const String sectionBg3 = "assets/mine/section_bg3.png";
static const String defAvatar = "assets/mine/def_avatar.png";
// mine_btn_bg
static const String mineBtnBg = "assets/mine/mine_btn_bg.png";
static const String mineAb = "assets/mine/mine_ab.png";
static const String minePp = "assets/mine/mine_pp.png";
static const String mineUa = "assets/mine/mine_ua.png";
// nodata
+3 -1
View File
@@ -20,9 +20,11 @@ class SkyAppBar extends StatelessWidget implements PreferredSizeWidget {
this.elevation = 0,
this.bottom,
this.toolbarHeight = kToolbarHeight,
this.titleColor,
});
final String? title;
final Color? titleColor;
final Widget? titleWidget;
final Widget? leading;
final List<Widget>? actions;
@@ -59,7 +61,7 @@ class SkyAppBar extends StatelessWidget implements PreferredSizeWidget {
return AppBar(
title: titleWidget ?? (title != null
? SkyText(text: title!, fontSize: 18, fontWeight: FontWeight.bold)
? SkyText(text: title!, fontSize: 18, fontWeight: FontWeight.bold, color: titleColor)
: null),
leading: resolvedLeading,
actions: actions,