This commit is contained in:
DMK
2021-01-15 17:45:34 +03:00
parent 3a22d5c968
commit f09afcb1a1

View File

@@ -1,4 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:moving_hole/animprovider.dart'; import 'package:moving_hole/animprovider.dart';
@@ -29,6 +30,9 @@ class MyWidget extends StatefulWidget {
} }
class _MyWidgetState extends State<MyWidget> { class _MyWidgetState extends State<MyWidget> {
final double _initWidth = 314;
final double _initHeight = 500;
@override @override
void initState() { void initState() {
SchedulerBinding.instance.addPostFrameCallback((timeStamp) async { SchedulerBinding.instance.addPostFrameCallback((timeStamp) async {
@@ -42,28 +46,45 @@ class _MyWidgetState extends State<MyWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: Stack(fit: StackFit.expand, children: [ body: LayoutBuilder(builder: (context, constrains) {
Consumer<AnimProv>( var _scale = min(constrains.maxHeight / _initHeight, constrains.maxWidth / _initWidth);
builder: (context, ap, child) => Container( return Transform.scale(
height: 360, scale: _scale,
width: 480, child: Center(
child: Image.asset(ap.foneScreen ?? 'assets/scrns/scrn1.jpg' child: Container(
color: Colors.red,
height: _initHeight,
width: _initWidth,
child: Stack(
//fit: StackFit.expand,
children: [
Consumer<AnimProv>(
builder: (context, ap, child) => Container(
child: Image.asset(
ap.foneScreen ?? 'assets/scrns/scrn1.jpg',
// height: 360,
// width: 480,
// fit: BoxFit.contain, fit: BoxFit.contain,
))), ))),
_getOverlay(), _getOverlay(),
imageOverlay(), imageOverlay(),
textOverlay(), textOverlay(),
// Positioned( // Positioned(
// child: Consumer<AnimProv>( // child: Consumer<AnimProv>(
// builder: (context, ap, child) => // builder: (context, ap, child) =>
// RaisedButton(onPressed: () { // RaisedButton(onPressed: () {
// ap.width = 300; // ap.width = 300;
// ap.height = 150; // ap.height = 150;
// ap.alignX = 0; // ap.alignX = 0;
// ap.alignY = -0.5; // ap.alignY = -0.5;
// }))) // })))
]), ]),
),
),
);
}),
// ),
); );
} }
@@ -125,8 +146,8 @@ class _MyWidgetState extends State<MyWidget> {
return Consumer<AnimProv>( return Consumer<AnimProv>(
builder: (context, ap, child) => Container( builder: (context, ap, child) => Container(
child: ap.picAsset.isNotEmpty ? Image.asset(ap.picAsset) : Container(), child: ap.picAsset.isNotEmpty ? Image.asset(ap.picAsset) : Container(),
width: 400, width: 300,
height: 400, height: 300,
alignment: Alignment.center, alignment: Alignment.center,
)); ));
} }