diff --git a/example/lib/pages/home/page.dart b/example/lib/pages/home/page.dart index 535d6f6..108e3e1 100644 --- a/example/lib/pages/home/page.dart +++ b/example/lib/pages/home/page.dart @@ -29,7 +29,7 @@ class _HomePageState extends AppState { final ScrollController _controllerListView = ScrollController(); @override - void didChangeMetrics() { + void onDidChangeMetrics() { setState(() { _hH = _header.getHeight() ?? 0; }); @@ -125,11 +125,11 @@ class _HomePageState extends AppState { child: Container( key: _header, width: double.infinity, - padding: const EdgeInsets.only( + padding: EdgeInsets.only( left: 20, right: 20, - top: 30, - bottom: 90, + top: media.orientation == Orientation.portrait ? 30 : 10, + bottom: media.orientation == Orientation.portrait ? 90 : 70, ), child: Column( mainAxisSize: MainAxisSize.min, @@ -139,7 +139,10 @@ class _HomePageState extends AppState { l10n.homeWelcomeTitle, color: Colors.white, ), - const SizedBox(height: 40), + SizedBox( + height: + media.orientation == Orientation.portrait ? 40 : 20, + ), TextBodyLarge( l10n.homeWelcomeText(packages.length), color: Colors.white, diff --git a/example/lib/widgets/base/app_state.dart b/example/lib/widgets/base/app_state.dart index 99d0804..9d43aa5 100644 --- a/example/lib/widgets/base/app_state.dart +++ b/example/lib/widgets/base/app_state.dart @@ -10,25 +10,35 @@ abstract class AppState extends State ); void onPostFrameCallback() {} + void onDidChangeMetrics() {} + + void _delayedChangeMetrics() { + onDidChangeMetrics(); + Future.delayed(const Duration(milliseconds: 100), () { + onDidChangeMetrics(); + }); + Future.delayed(const Duration(milliseconds: 200), () { + onDidChangeMetrics(); + }); + Future.delayed(const Duration(milliseconds: 500), () { + onDidChangeMetrics(); + }); + } @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addPostFrameCallback((_) { - didChangeMetrics(); - Future.delayed(const Duration(milliseconds: 100), () { - didChangeMetrics(); - }); - Future.delayed(const Duration(milliseconds: 200), () { - didChangeMetrics(); - }); - Future.delayed(const Duration(milliseconds: 500), () { - didChangeMetrics(); - }); + _delayedChangeMetrics(); }); } + @override + void didChangeMetrics() { + _delayedChangeMetrics(); + } + @override void dispose() { WidgetsBinding.instance.removeObserver(this);