Browse Source

优化新手指引

weicu
tanlongsheng 1 year ago
parent
commit
8f653f2da1
  1. 51
      lib/core/widgets/intro_overlay_builder.dart
  2. 12
      lib/modules/agent/views/agent_view.dart
  3. 12
      lib/modules/home/views/home_view.dart

51
lib/core/widgets/intro_overlay_builder.dart

@ -4,6 +4,18 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:lottie/lottie.dart'; import 'package:lottie/lottie.dart';
class IntroOverlayBuilder { class IntroOverlayBuilder {
static OverlayPosition overlayPosition({
required Offset offset,
required Size screenSize,
required Size size,
}) {
return OverlayPosition(
top: ScreenUtil().statusBarHeight,
width: screenSize.width,
crossAxisAlignment: CrossAxisAlignment.center,
);
}
static Widget homeBuilder( static Widget homeBuilder(
StepWidgetParams params, StepWidgetParams params,
bool isWakeup, { bool isWakeup, {
@ -12,6 +24,18 @@ class IntroOverlayBuilder {
}) { }) {
return Column( return Column(
children: [ children: [
Container(
padding: EdgeInsetsGeometry.all(12.w),
alignment: Alignment.centerRight,
child: _button(
'跳过',
() {
params.onFinish();
},
isSkip: true,
),
),
100.verticalSpace,
isWakeup isWakeup
? _AnimatedLottieWidget() ? _AnimatedLottieWidget()
: SizedBox( : SizedBox(
@ -31,27 +55,12 @@ class IntroOverlayBuilder {
), ),
), ),
if (onNext != null) if (onNext != null)
Row( _button(
mainAxisAlignment: MainAxisAlignment.center, '下一步',
children: [ () {
Padding( params.onNext!();
padding: EdgeInsets.only(right: 50.w), onNext();
child: _button( },
'下一步',
() {
params.onNext!();
onNext();
},
),
),
_button(
'跳过',
() {
params.onFinish();
},
isSkip: true,
),
],
), ),
], ],
); );

12
lib/modules/agent/views/agent_view.dart

@ -196,17 +196,7 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
IntroStepBuilder( IntroStepBuilder(
group: 'ai', group: 'ai',
order: 3, order: 3,
getOverlayPosition: ({ getOverlayPosition: IntroOverlayBuilder.overlayPosition,
required Offset offset,
required Size screenSize,
required Size size,
}) {
return OverlayPosition(
top: 200.h,
width: screenSize.width,
crossAxisAlignment: CrossAxisAlignment.end,
);
},
overlayBuilder: (params) { overlayBuilder: (params) {
return Obx( return Obx(
() => IntroOverlayBuilder.homeBuilder( () => IntroOverlayBuilder.homeBuilder(

12
lib/modules/home/views/home_view.dart

@ -120,17 +120,7 @@ class HomeView extends GetView<HomeController> {
IntroStepBuilder( IntroStepBuilder(
group: 'home', group: 'home',
order: 2, order: 2,
getOverlayPosition: ({ getOverlayPosition: IntroOverlayBuilder.overlayPosition,
required Offset offset,
required Size screenSize,
required Size size,
}) {
return OverlayPosition(
top: 200.h,
width: screenSize.width,
crossAxisAlignment: CrossAxisAlignment.end,
);
},
overlayBuilder: (params) { overlayBuilder: (params) {
return Obx( return Obx(
() => IntroOverlayBuilder.homeBuilder( () => IntroOverlayBuilder.homeBuilder(

Loading…
Cancel
Save