first step form size config

pull/12/head
Elham Rababah 5 years ago
parent 60a3b12719
commit 47a897a2c9

@ -0,0 +1,47 @@
import 'package:flutter/cupertino.dart';
class SizeConfig {
static double _blockWidth = 0;
static double _blockHeight = 0;
static double screenWidth;
static double screenHeight;
static double textMultiplier;
static double imageSizeMultiplier;
static double heightMultiplier;
static double widthMultiplier;
static bool isPortrait = true;
static bool isMobilePortrait = false;
void init(BoxConstraints constraints, Orientation orientation) {
if (orientation == Orientation.portrait) {
screenHeight = constraints.maxHeight;
screenWidth = constraints.maxWidth;
isPortrait = true;
if (screenWidth < 450) {
isMobilePortrait = true;
}
} else {
screenHeight = constraints.maxWidth;
screenWidth = constraints.maxHeight;
isPortrait = false;
isMobilePortrait = false;
}
_blockWidth = screenWidth / 100;
_blockHeight = screenHeight / 100;
textMultiplier = _blockHeight;
imageSizeMultiplier = _blockWidth;
heightMultiplier = _blockHeight;
widthMultiplier = _blockWidth;
print('textMultiplier $textMultiplier');
print('imageSizeMultiplier $imageSizeMultiplier');
print('heightMultiplier$heightMultiplier');
print('widthMultiplier $widthMultiplier');
print('isPortrait $isPortrait');
print('isMobilePortrait $isMobilePortrait');
}
}

@ -2,7 +2,7 @@ import 'package:http_interceptor/http_interceptor.dart';
class HttpInterceptor extends InterceptorContract {
Future<RequestData> interceptRequest({RequestData data}) async {
print('RequestData ${data.body}');
// print('RequestData ${data.body}');
try {
// data.params['appid'] = OPEN_WEATHER_API_KEY;
// data.params['units'] = 'metric';
@ -17,7 +17,7 @@ class HttpInterceptor extends InterceptorContract {
@override
Future<ResponseData> interceptResponse({ResponseData data}) async {
print('${data.body}');
// print('ResponseData ${data.body}');
return data;
}
}

@ -1,9 +1,11 @@
import 'package:doctor_app_flutter/providers/auth_provider.dart';
import 'package:doctor_app_flutter/providers/patients_provider.dart';
import 'package:doctor_app_flutter/providers/projects_provider.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
import './config/size_config.dart';
import './providers/auth_provider.dart';
import './providers/patients_provider.dart';
import './providers/projects_provider.dart';
import './routes.dart';
void main() => runApp(MyApp());
@ -12,22 +14,29 @@ class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider.value(value: PatientsProvider()),
ChangeNotifierProvider.value(value: AuthProvider()),
ChangeNotifierProvider.value(value: ProjectsProvider()),
],
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
primaryColor: Hexcolor('#B8382C'),
buttonColor: Hexcolor('#B8382C'),
fontFamily: 'WorkSans'),
initialRoute: INIT_ROUTE,
routes: routes,
),
return LayoutBuilder(
builder: (context, constraints) {
return OrientationBuilder(builder: (context, orientation) {
SizeConfig().init(constraints, orientation);
return MultiProvider(
providers: [
ChangeNotifierProvider.value(value: PatientsProvider()),
ChangeNotifierProvider.value(value: AuthProvider()),
ChangeNotifierProvider.value(value: ProjectsProvider()),
],
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
primaryColor: Hexcolor('#B8382C'),
buttonColor: Hexcolor('#B8382C'),
fontFamily: 'WorkSans'),
initialRoute: INIT_ROUTE,
routes: routes,
),
);
});
},
);
}
}

@ -1,5 +1,5 @@
import 'package:doctor_app_flutter/lookups/home_items_lookup.dart';
import 'package:doctor_app_flutter/routes.dart';
import '../lookups/home_items_lookup.dart';
import '../routes.dart';
import '../widgets/home/home_item.dart';
import '../widgets/shared/app.drawer.dart';

@ -1,5 +1,3 @@
import '../../providers/projects_provider.dart';
import '../../util/dr_app_toast_msg.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
@ -7,13 +5,16 @@ import 'package:hexcolor/hexcolor.dart';
import 'package:imei_plugin/imei_plugin.dart';
import 'package:provider/provider.dart';
import '../../config/size_config.dart';
import '../../models/user_model.dart';
import '../../providers/auth_provider.dart';
import '../../providers/projects_provider.dart';
import '../../routes.dart';
import '../../util/dr_app_shared_pref.dart';
import '../../util/dr_app_toast_msg.dart';
DrAppSharedPreferances sharedPref = DrAppSharedPreferances();
DrAppToastMsg toastMsg = DrAppToastMsg();
DrAppToastMsg toastMsg = DrAppToastMsg();
class LoginForm extends StatefulWidget with DrAppToastMsg {
LoginForm({
@ -71,9 +72,8 @@ class _LoginFormState extends State<LoginForm> {
decoration: InputDecoration(
prefixIcon: Image.asset('assets/images/user_id_icon.png'),
hintText: 'Enter ID',
hintStyle: TextStyle(
fontSize:
isSmallScreen ? 14 : constraints.maxWidth * 0.024),
hintStyle:
TextStyle(fontSize: 2 * SizeConfig.textMultiplier),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(color: Hexcolor('#CCCCCC')),
@ -104,10 +104,8 @@ class _LoginFormState extends State<LoginForm> {
prefixIcon:
Image.asset('assets/images/password_icon.png'),
hintText: 'Enter Password',
hintStyle: TextStyle(
fontSize: isSmallScreen
? 14
: constraints.maxWidth * 0.024),
hintStyle:
TextStyle(fontSize: 2 * SizeConfig.textMultiplier),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(color: Hexcolor('#CCCCCC')),
@ -140,10 +138,8 @@ class _LoginFormState extends State<LoginForm> {
prefixIcon:
Image.asset('assets/images/hospital_icon.png'),
// hintText: 'Enter Password',
hintStyle: TextStyle(
fontSize: isSmallScreen
? 14
: constraints.maxWidth * 0.024),
hintStyle:
TextStyle(fontSize: 2 * SizeConfig.textMultiplier),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(color: Hexcolor('#CCCCCC')),
@ -189,9 +185,7 @@ class _LoginFormState extends State<LoginForm> {
onChanged: (bool newValue) {}),
Text("Remember me",
style: TextStyle(
fontSize: isSmallScreen
? 18
: constraints.maxWidth * 0.018)),
fontSize: 2 * SizeConfig.textMultiplier)),
],
),
),
@ -208,16 +202,14 @@ class _LoginFormState extends State<LoginForm> {
BorderSide(width: 0.5, color: Hexcolor('#CCCCCC'))),
child: Container(
padding: const EdgeInsets.all(10.0),
height: 50,
height: 5*SizeConfig.heightMultiplier,
width: constraints.maxWidth * 0.30,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text('LOGIN',
style: TextStyle(
fontSize: isSmallScreen
? 15
: constraints.maxWidth * 0.020)),
fontSize: SizeConfig.isMobilePortrait?2*SizeConfig.textMultiplier: 2.3*SizeConfig.textMultiplier)),
Image.asset('assets/images/login_btn_arrow_icon.png')
],
),
@ -310,7 +302,7 @@ class _LoginFormState extends State<LoginForm> {
}
Future<void> setSharedPref(key, value) async {
sharedPref.setString(key, value).then(( success) {
sharedPref.setString(key, value).then((success) {
print("sharedPref.setString" + success.toString());
});
}

@ -70,7 +70,7 @@ packages:
name: build_daemon
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
version: "2.1.4"
build_modules:
dependency: transitive
description:
@ -98,7 +98,7 @@ packages:
name: build_runner_core
url: "https://pub.dartlang.org"
source: hosted
version: "4.5.2"
version: "4.5.3"
build_web_compilers:
dependency: "direct dev"
description:
@ -281,7 +281,7 @@ packages:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.3"
version: "3.1.4"
i18n:
dependency: "direct main"
description:
@ -386,7 +386,7 @@ packages:
name: package_config
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.1"
version: "1.9.3"
package_resolver:
dependency: transitive
description:
@ -449,7 +449,7 @@ packages:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.3"
version: "1.4.4"
pubspec_parse:
dependency: transitive
description:

Loading…
Cancel
Save