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';
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(
StepWidgetParams params,
bool isWakeup, {
@ -12,6 +24,18 @@ class IntroOverlayBuilder {
}) {
return Column(
children: [
Container(
padding: EdgeInsetsGeometry.all(12.w),
alignment: Alignment.centerRight,
child: _button(
'跳过',
() {
params.onFinish();
},
isSkip: true,
),
),
100.verticalSpace,
isWakeup
? _AnimatedLottieWidget()
: SizedBox(
@ -31,27 +55,12 @@ class IntroOverlayBuilder {
),
),
if (onNext != null)
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(right: 50.w),
child: _button(
'下一步',
() {
params.onNext!();
onNext();
},
),
),
_button(
'跳过',
() {
params.onFinish();
},
isSkip: true,
),
],
_button(
'下一步',
() {
params.onNext!();
onNext();
},
),
],
);

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

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

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

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

Loading…
Cancel
Save