Files
huangguo_android/lib/hj_page/splash/splash_page.dart
T
2026-09-15 15:44:13 +07:00

56 lines
1.7 KiB
Dart

// ignore_for_file: use_build_context_synchronously, depend_on_referenced_packages
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hgdj/assets_tool/app_colors.dart';
import 'package:hgdj/assets_tool/images.dart';
import 'package:hgdj/hj_page/splash/splash_ad_view.dart';
import 'package:hgdj/hj_page/splash/splash_logic.dart';
import '../../config/config.dart';
import '../../tools_base/loading/loading_alert_widget.dart';
class SplashPage extends StatelessWidget {
static const routeName = '/SplashPage';
const SplashPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
//这里用 GetBuilder 主要是预加载背景图
body: GetBuilder<SplashLogic>(
init: SplashLogic(),
builder: (logic) => Stack(
fit: StackFit.expand,
children: [
Image.asset(
'ic_splash_bg.webp'.launchPath,
fit: BoxFit.fill,
width: Get.width,
height: Get.height,
),
if (logic.isAdLoaded || logic.adsList != null)
SplashAdView(
adData: logic.adsList,
callback: logic.onAdFinish,
),
const Positioned(
bottom: 20,
right: 20,
child: Text(
"V${Config.innerVersion}",
style: TextStyle(
color: AppColors.actionRed,
fontSize: 8,
),
),
),
//广告先结束、首页数据还没就绪时的过渡遮罩
if (logic.isAdDone) LoadingAlertWidget(title: '数据初始化中...'),
],
),
),
);
}
}