灯笼需要在叶子出现后出现

This commit is contained in:
tanghong668 2023-11-30 12:34:48 +08:00
parent af57daa7f9
commit 27caadd3e9
4 changed files with 61 additions and 32 deletions

View File

@ -513,11 +513,13 @@ class HomeView extends GetView<HomeController> {
) )
: Container(), : Container(),
controller.explored2.value >= 1 ? firstLeafWidget() : Container(), controller.explored2.value >= 1 ? firstLeafWidget() : Container(),
LanternWidget( controller.explored2.value >= 4
brightCount: controller.exploreCount.value >= 2 ? LanternWidget(
? controller.exploreDay.value brightCount: controller.exploreCount.value >= 2
: controller.exploreDay.value - 1, ? controller.exploreDay.value
), : controller.exploreDay.value - 1,
)
: Container(),
Positioned( Positioned(
left: 168.w, left: 168.w,
top: 244.h, top: 244.h,

View File

@ -15,33 +15,35 @@ class LanternWidget extends GetView {
return Positioned( return Positioned(
right: 60.w, right: 60.w,
top: 346.h, top: 346.h,
child: Container( child: ShowUp(
height: 90.h, child: Container(
width: 180.w, height: 90.h,
decoration: const BoxDecoration( width: 180.w,
image: DecorationImage( decoration: const BoxDecoration(
image: Images.homeLantern, image: DecorationImage(
fit: BoxFit.fill, image: Images.homeLantern,
fit: BoxFit.fill,
),
),
child: Stack(
clipBehavior: Clip.none,
children: [
brightCount! >= 1
? Positioned(
left: -9.w,
top: 36.h,
child: Images.homeLanternBright,
)
: Container(),
brightCount! >= 2
? Positioned(
left: 18.w,
top: 27.h,
child: Images.homeLanternBright,
)
: Container(),
],
), ),
),
child: Stack(
clipBehavior: Clip.none,
children: [
brightCount! >= 1
? Positioned(
left: -9.w,
top: 36.h,
child: Images.homeLanternBright,
)
: Container(),
brightCount! >= 2
? Positioned(
left: 18.w,
top: 27.h,
child: Images.homeLanternBright,
)
: Container(),
],
), ),
), ),
); );

View File

@ -0,0 +1,24 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
class ShowUp extends HookWidget {
const ShowUp({
super.key,
required this.child,
});
final Widget child;
@override
Widget build(BuildContext context) {
final controller =
useAnimationController(duration: const Duration(milliseconds: 300));
useMemoized(() {
controller.forward();
});
return FadeTransition(
opacity: CurvedAnimation(curve: Curves.easeIn, parent: controller),
child: child,
);
}
}

View File

@ -9,4 +9,5 @@ export 'my_back_button.dart';
export 'question_dialog.dart'; export 'question_dialog.dart';
export 'swipe_next_page_container.dart'; export 'swipe_next_page_container.dart';
export 'animated_visibility_widget.dart'; export 'animated_visibility_widget.dart';
export 'animated_column_widget.dart'; export 'animated_column_widget.dart';
export 'show_up.dart';