diff --git a/README.md b/README.md
index bb804a14..9aace379 100644
--- a/README.md
+++ b/README.md
@@ -149,7 +149,7 @@ The code for Springy Widget is taken and refactored from (https://github.com/mat
## User Flow Screens
-
+
## Settings UIs
diff --git a/lib/core/presentation/routes.dart b/lib/core/presentation/routes.dart
index 1749fe97..a9267d4b 100644
--- a/lib/core/presentation/routes.dart
+++ b/lib/core/presentation/routes.dart
@@ -18,6 +18,7 @@ import 'package:flutter_ui_challenges/src/pages/invitation/inlanding.dart';
import 'package:flutter_ui_challenges/src/pages/invitation/invitation1.dart';
import 'package:flutter_ui_challenges/src/pages/login/auth3.dart';
import 'package:flutter_ui_challenges/src/pages/login/login8.dart';
+import 'package:flutter_ui_challenges/src/pages/login/login9.dart';
import 'package:flutter_ui_challenges/src/pages/misc/bottomsheet.dart';
import 'package:flutter_ui_challenges/src/pages/food/cake.dart';
import 'package:flutter_ui_challenges/src/pages/misc/crop.dart';
@@ -149,6 +150,7 @@ final List pages = [
SubMenuItem("Login Six", LoginSixPage(), path: LoginSixPage.path),
SubMenuItem("Login Seven", LoginSevenPage(), path: LoginSevenPage.path),
SubMenuItem("Login Eight", LoginEightPage(), path: LoginEightPage.path),
+ SubMenuItem("Login Nine", LoginNinePage(), path: LoginNinePage.path),
SubMenuItem("Signup One", SignupOnePage(), path: SignupOnePage.path),
SubMenuItem("Signup Two", SignupTwoPage(), path: SignupTwoPage.path),
]),
diff --git a/lib/src/pages/login/login8.dart b/lib/src/pages/login/login8.dart
index acabfb94..6e9cec92 100644
--- a/lib/src/pages/login/login8.dart
+++ b/lib/src/pages/login/login8.dart
@@ -1,6 +1,6 @@
/**
- * Author: Sudip Thapa
- * profile: https://github.com/sudeepthapa
+ * Author: Damodar Lohani
+ * profile: https://github.com/lohanidamodar
*/
import 'package:flutter/material.dart';
import 'package:flutter_ui_challenges/core/presentation/res/assets.dart';
diff --git a/lib/src/pages/login/login9.dart b/lib/src/pages/login/login9.dart
new file mode 100644
index 00000000..3ef20b54
--- /dev/null
+++ b/lib/src/pages/login/login9.dart
@@ -0,0 +1,150 @@
+import 'package:animator/animator.dart';
+/**
+ * Author: Damodar Lohani
+ * profile: https://github.com/lohanidamodar
+ */
+import 'package:flutter/material.dart';
+import 'package:flutter_ui_challenges/core/presentation/res/assets.dart';
+
+class LoginNinePage extends StatelessWidget {
+ static final String path = "lib/src/pages/login/login9.dart";
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ body: Column(
+ crossAxisAlignment: CrossAxisAlignment.stretch,
+ children: [
+ Expanded(
+ child: Stack(
+ fit: StackFit.expand,
+ children: [
+ Container(
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: NetworkImage(images[0]),
+ fit: BoxFit.cover,
+ ),
+ ),
+ foregroundDecoration: BoxDecoration(
+ color: Colors.black.withOpacity(0.7),
+ ),
+ ),
+ if (MediaQuery.of(context).viewInsets == EdgeInsets.zero)
+ Padding(
+ padding: const EdgeInsets.only(top: kToolbarHeight),
+ child: Text(
+ "Beautiful App",
+ style: TextStyle(
+ color: Colors.white,
+ fontWeight: FontWeight.bold,
+ fontSize: 20.0,
+ ),
+ textAlign: TextAlign.center,
+ ),
+ ),
+ Animator(
+ triggerOnInit: true,
+ curve: Curves.easeIn,
+ tween: Tween(begin: -1, end: 0),
+ builder: (context, state, child) {
+ return FractionalTranslation(
+ translation: Offset(state.value,0),
+ child: child,
+ );
+ },
+ child: Align(
+ alignment: Alignment.bottomCenter,
+ child: ListView(
+ physics:
+ MediaQuery.of(context).viewInsets == EdgeInsets.zero
+ ? NeverScrollableScrollPhysics()
+ : null,
+ padding: const EdgeInsets.all(32.0),
+ shrinkWrap: true,
+ children: [
+ const SizedBox(height: kToolbarHeight),
+ Text(
+ "Namaste!",
+ style: Theme.of(context)
+ .textTheme
+ .headline4
+ .copyWith(color: Colors.white),
+ textAlign: TextAlign.center,
+ ),
+ const SizedBox(height: 10.0),
+ Text(
+ "Welcome to this awesome app. We are so happy that you are using our app.",
+ style: TextStyle(
+ color: Colors.blueGrey,
+ fontSize: 16.0,
+ ),
+ textAlign: TextAlign.center,
+ ),
+ const SizedBox(height: 20.0),
+ TextField(
+ decoration: InputDecoration(
+ contentPadding: const EdgeInsets.symmetric(
+ vertical: 16.0, horizontal: 32.0),
+ suffixIcon: Icon(
+ Icons.person,
+ color: Colors.blueGrey,
+ ),
+ hintText: "Username",
+ hintStyle: TextStyle(color: Colors.blueGrey),
+ border: OutlineInputBorder(
+ borderRadius: BorderRadius.circular(40.0),
+ ),
+ enabledBorder: OutlineInputBorder(
+ borderSide: BorderSide(color: Colors.blueGrey),
+ borderRadius: BorderRadius.circular(40.0),
+ ),
+ ),
+ ),
+ const SizedBox(height: 10.0),
+ TextField(
+ decoration: InputDecoration(
+ contentPadding: const EdgeInsets.symmetric(
+ vertical: 16.0, horizontal: 32.0),
+ suffixIcon: Icon(
+ Icons.lock,
+ color: Colors.blueGrey,
+ ),
+ hintText: "Password",
+ hintStyle: TextStyle(color: Colors.blueGrey),
+ border: OutlineInputBorder(
+ borderRadius: BorderRadius.circular(40.0),
+ ),
+ enabledBorder: OutlineInputBorder(
+ borderSide: BorderSide(color: Colors.blueGrey),
+ borderRadius: BorderRadius.circular(40.0),
+ ),
+ ),
+ ),
+ const SizedBox(height: 20.0),
+ FlatButton(
+ textColor: Colors.white,
+ child: Text("Create new account"),
+ onPressed: () {},
+ ),
+ ],
+ ),
+ ),
+ ),
+ ],
+ ),
+ ),
+ if (MediaQuery.of(context).viewInsets == EdgeInsets.zero)
+ RaisedButton(
+ padding: const EdgeInsets.all(32.0),
+ elevation: 0,
+ textColor: Colors.white,
+ color: Colors.deepOrange,
+ child: Text("Continue".toUpperCase()),
+ onPressed: () {},
+ )
+ ],
+ ),
+ );
+ }
+}
diff --git a/pubspec.yaml b/pubspec.yaml
index 064098bb..5db6debe 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -30,11 +30,12 @@ dependencies:
flutter_staggered_grid_view: ^0.3.0
crop: ^0.1.2
share: ^0.6.4+3
+ animator: ^2.0.1
dev_dependencies:
flutter_test:
sdk: flutter
flutter_launcher_icons: ^0.7.0
- flutter_automation:
+ flutter_automation: null
flutter_icons:
android: true
@@ -44,7 +45,6 @@ flutter_icons:
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
-
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
@@ -89,7 +89,7 @@ flutter:
fonts:
- asset: assets/fonts/icomoon.ttf
-
- family: MyFlutterApp
fonts:
- asset: assets/fonts/MyFlutterApp.ttf
+
diff --git a/screenshots/login9.png b/screenshots/login9.png
new file mode 100644
index 00000000..2cde107d
Binary files /dev/null and b/screenshots/login9.png differ