From 1c939ea9784c835b177f54133681fba308c6d85a Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Thu, 21 Aug 2025 19:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E6=89=8B=E6=8C=87?= =?UTF-8?q?=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/core/widgets/intro_overlay_builder.dart | 99 +++++++++++++-------- lib/modules/agent/views/agent_view.dart | 6 ++ lib/modules/home/views/home_view.dart | 2 + 3 files changed, 68 insertions(+), 39 deletions(-) diff --git a/lib/core/widgets/intro_overlay_builder.dart b/lib/core/widgets/intro_overlay_builder.dart index 6b503bb69..a2c3eaa7a 100644 --- a/lib/core/widgets/intro_overlay_builder.dart +++ b/lib/core/widgets/intro_overlay_builder.dart @@ -44,7 +44,7 @@ class IntroOverlayBuilder { child: Lottie.asset('assets/lottie/intro_foriday.json'), ), Padding( - padding: EdgeInsets.only(bottom: 20.w), + padding: EdgeInsets.only(bottom: 10.w), child: Text( isWakeup ? '我在呢~' : title, style: TextStyle( @@ -74,50 +74,71 @@ class IntroOverlayBuilder { Function? onNext, Function? onFinish, }) { - return Column( - crossAxisAlignment: - alignment ? CrossAxisAlignment.start : CrossAxisAlignment.end, - children: [ - Padding( - padding: EdgeInsets.only(bottom: 10.w), - child: Text( - text, - style: TextStyle( - fontSize: 15.sp, - color: Colors.white, - fontWeight: FontWeight.bold, - ), - ), - ), - Row( - children: [ - if (onNext != null) - _button( - buttonText, - () { - params.onNext!(); - onNext(); - }, - ), - if (onFinish != null) - _button( - buttonText, - () { - params.onFinish(); - onFinish(); - }, - ), - if (onNext != null || onFinish != null) const Spacer(), - _button( + double height = + (params.offset?.dy ?? 0) - ScreenUtil().statusBarHeight - 20.w; + double left = params.offset?.dx ?? 0; + double right = 1.sw - left - params.size.width; + return SizedBox( + height: height, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + padding: EdgeInsetsGeometry.all(12.w), + alignment: Alignment.centerRight, + child: _button( '跳过', () { params.onFinish(); }, isSkip: true, ), - ], - ), - ], + ), + Padding( + padding: EdgeInsets.only( + left: alignment ? left : 12.w, + right: alignment ? 12.w : right, + ), + child: Column( + crossAxisAlignment: + alignment ? CrossAxisAlignment.start : CrossAxisAlignment.end, + children: [ + Padding( + padding: EdgeInsets.only(bottom: 10.w), + child: Text( + text, + style: TextStyle( + fontSize: 15.sp, + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ), + Row( + children: [ + if (onNext != null) + _button( + buttonText, + () { + params.onNext!(); + onNext(); + }, + ), + if (onFinish != null) + _button( + buttonText, + () { + params.onFinish(); + onFinish(); + }, + ), + ], + ), + ], + ), + ), + ], + ), ); } diff --git a/lib/modules/agent/views/agent_view.dart b/lib/modules/agent/views/agent_view.dart index 92586db1f..419261a77 100644 --- a/lib/modules/agent/views/agent_view.dart +++ b/lib/modules/agent/views/agent_view.dart @@ -242,6 +242,8 @@ class _AgentViewState extends State with WidgetsBindingObserver { ? IntroStepBuilder( group: 'ai', order: 4, + getOverlayPosition: + IntroOverlayBuilder.overlayPosition, overlayBuilder: (params) { return IntroOverlayBuilder.aiBuilder( params, @@ -504,6 +506,8 @@ class _AgentViewState extends State with WidgetsBindingObserver { return IntroStepBuilder( group: 'ai', order: 1, + getOverlayPosition: + IntroOverlayBuilder.overlayPosition, overlayBuilder: (params) { return IntroOverlayBuilder.aiBuilder( params, @@ -751,6 +755,8 @@ class _AgentViewState extends State with WidgetsBindingObserver { widgetParams!.onNext!(); controller.sendMessage(); }, + getOverlayPosition: + IntroOverlayBuilder.overlayPosition, overlayBuilder: (params) { widgetParams = params; return IntroOverlayBuilder.aiBuilder( diff --git a/lib/modules/home/views/home_view.dart b/lib/modules/home/views/home_view.dart index bbcd78dae..7ff7eb91a 100644 --- a/lib/modules/home/views/home_view.dart +++ b/lib/modules/home/views/home_view.dart @@ -101,6 +101,7 @@ class HomeView extends GetView { onWidgetLoad: () { controller.noviceGuideService.startHomeGuide(); }, + getOverlayPosition: IntroOverlayBuilder.overlayPosition, overlayBuilder: (params) { return IntroOverlayBuilder.aiBuilder( params, @@ -743,6 +744,7 @@ class HomeView extends GetView { Intro.of(Get.context!).dispose(); controller.exploreAIFeatures(); }, + getOverlayPosition: IntroOverlayBuilder.overlayPosition, overlayBuilder: (params) { return IntroOverlayBuilder.aiBuilder( params,