add scripts

This commit is contained in:
jyuesong
2022-01-18 13:09:29 +08:00
parent 1a72b9b5d7
commit 8aa41e577b
15 changed files with 506 additions and 154 deletions

View File

@@ -0,0 +1,29 @@
import 'package:flutter/material.dart';
/// @author NewTab
mixin LazyLoadState<T extends StatefulWidget> on State<T> {
@override
void initState() {
super.initState();
WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
var route = ModalRoute.of(context);
void handler(status) {
if (status == AnimationStatus.completed) {
route?.animation?.removeStatusListener(handler);
onLazyLoad();
}
}
if (route == null ||
route.animation == null ||
route.animation!.status == AnimationStatus.completed) {
onLazyLoad();
} else {
route.animation!.addStatusListener(handler);
}
});
}
void onLazyLoad();
}