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