import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutterappfuyou/code/base/YSTools.dart'; class YSBase extends StatefulWidget { final Widget yschild; final String ystitle; final Widget ysright; final Color ysColor; final Color ysBgColor; final bool isBack; const YSBase({Key key, this.yschild,this.ystitle,this.ysright, this.ysColor, this.ysBgColor, this.isBack = true}) : super(key: key); @override _YSBaseState createState() => _YSBaseState(); } class _YSBaseState extends State { @override Widget build(BuildContext context) { return Scaffold( backgroundColor: widget.ysBgColor??Colors.white, body: Stack( children: [ Container( height: MediaQuery.of(context).padding.top+70, width: MediaQuery.of(context).size.width, color: widget.ysColor??Color(0xFFDB5278), ), Container( margin: EdgeInsets.only(top: 20), padding: EdgeInsets.only(left: 15,right: 15), height: 30+MediaQuery.of(context).padding.top, width: MediaQuery.of(context).size.width, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( height: 30, width: 20, margin: EdgeInsets.only(right: 35), child: widget.isBack?CupertinoButton( padding: EdgeInsets.all(0), child: Icon(Icons.arrow_back_ios,size: 20,color: Colors.white,), onPressed: (){ FocusScope.of(context).unfocus(); Navigator.pop(context); }, ):Container(), ), Container( width: ysWidth(context)-150, child: Text(widget.ystitle,style: TextStyle(color: Colors.white,fontSize: 16,decoration: TextDecoration.none,fontWeight: FontWeight.w600), textAlign: TextAlign.center,maxLines: 1,), ), Container( width: 55, height: 30, child: widget.ysright, ), ], ), ), Container( margin: EdgeInsets.only(top: 50+MediaQuery.of(context).padding.top), height: MediaQuery.of(context).size.height-MediaQuery.of(context).padding.top-50, width: MediaQuery.of(context).size.width, decoration: BoxDecoration( color: widget.ysBgColor??Color(0xFFFAF8F5), borderRadius: BorderRadius.only(topLeft: Radius.circular(20),topRight: Radius.circular(20)) ), child: widget.yschild, ) ], ), ); } } class YSBase2 extends StatefulWidget { final String title; final Color color; final Widget child; const YSBase2({Key key, this.title = '', this.color, @required this.child}) : super(key: key); @override _YSBase2State createState() => _YSBase2State(); } class _YSBase2State extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: CupertinoNavigationBar( backgroundColor: Colors.white, leading: GestureDetector( child: Icon(Icons.arrow_back_ios,size: 20), onTap: (){ Navigator.pop(context); }, ), middle: Text(widget.title,style: TextStyle(fontSize: 16),), ), body: Container( height: MediaQuery.of(context).size.height-MediaQuery.of(context).padding.top-44, width: MediaQuery.of(context).size.width, color: widget.color??Colors.white, child: SingleChildScrollView( child: widget.child, ), ), ); } } class CustomerValueNotification extends Notification { final Map value; CustomerValueNotification(this.value); }