import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; class ChangePassword extends StatelessWidget { final changePassFormKey = GlobalKey(); var changePassFormValues = { 'currentPass': null, 'newPass': null, 'repeatedPass': null }; @override Widget build(BuildContext context) { return Form( key: changePassFormKey, child: Container( width: SizeConfig.realScreenWidth * 0.90, child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: < Widget>[ buildSizedBox(), TextFormField( keyboardType: TextInputType.number, decoration: InputDecoration( // ts/images/password_icon.png prefixIcon: Image.asset('assets/images/password_icon.png'), hintText: 'Current Password', hintStyle: TextStyle(fontSize: 2 * SizeConfig.textMultiplier), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)), borderSide: BorderSide(color: Hexcolor('#CCCCCC')), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(color: Theme.of(context).primaryColor), ) //BorderRadius.all(Radius.circular(20)); ), validator: (value) { if (value.isEmpty) { return 'Please enter your Current Password'; } return null; }, onSaved: (value) { // changePassFormValues. = value; }, ), buildSizedBox(40), // buildSizedBox(), Text( "New Password", style: TextStyle( fontSize: 2.8 * SizeConfig.textMultiplier, fontWeight: FontWeight.w800), ), buildSizedBox(10.0), // Text() TextFormField( keyboardType: TextInputType.number, decoration: InputDecoration( // ts/images/password_icon.png prefixIcon: Image.asset('assets/images/password_icon.png'), hintText: 'New Password', hintStyle: TextStyle(fontSize: 2 * SizeConfig.textMultiplier), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)), borderSide: BorderSide(color: Hexcolor('#CCCCCC')), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(color: Theme.of(context).primaryColor), ) //BorderRadius.all(Radius.circular(20)); ), validator: (value) { if (value.isEmpty) { return 'Please enter your New Password'; } return null; }, onSaved: (value) { // userInfo.UserID = value; }, ), buildSizedBox(), TextFormField( keyboardType: TextInputType.number, decoration: InputDecoration( prefixIcon: Image.asset('assets/images/password_icon.png'), hintText: 'Repeat Password', hintStyle: TextStyle(fontSize: 2 * SizeConfig.textMultiplier), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)), borderSide: BorderSide(color: Hexcolor('#CCCCCC')), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(color: Theme.of(context).primaryColor), ) //BorderRadius.all(Radius.circular(20)); ), validator: (value) { if (value.isEmpty) { return 'Please enter your Repeat Password'; } return null; }, onSaved: (value) { // userInfo.UserID = value; }, ), buildSizedBox(), RaisedButton( onPressed:changePass, elevation: 0.0, child: Container( width: double.infinity, height: 50, child: Center( child: Text( 'Change Password' .toUpperCase(), // textAlign: TextAlign.center, style: TextStyle( color: Colors.white, fontSize: 2.5 * SizeConfig.textMultiplier), ), ), ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), side: BorderSide(width: 0.5, color: Hexcolor('#CCCCCC'))), ), SizedBox( height: 10, ), ]))); } SizedBox buildSizedBox([double height = 20]) { return SizedBox( height: height, ); } changePass(){ if(changePassFormKey.currentState.validate()){ changePassFormKey.currentState.save(); // call Api } } }