Password Screen Simple UI

 import "package:flutter/material.dart";


class Password extends StatefulWidget {
Password({super.key});

@override
State<Password> createState() => _PasswordState();
}

class _PasswordState extends State<Password> {
TextEditingController passwordController = TextEditingController();

TextEditingController confirmPasswordController = TextEditingController();

bool _obscureText = true;

bool _obscureText2 = true;

@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
return FocusManager.instance.primaryFocus?.unfocus();
},
child: Scaffold(
extendBodyBehindAppBar: true,
appBar: AppBar(
backgroundColor: Colors.transparent,
leading: IconButton(
onPressed: () {
Navigator.pop(context);
},
icon: const Icon(Icons.arrow_back, color: Colors.white),
),
),
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Colors.blue,
Colors.blue.shade700,
Colors.blue.shade100,
Colors.blue.shade50,
],
begin: const FractionalOffset(1.0, 0.0),
end: const FractionalOffset(0.0, 1.0),
),
),
child: Center(
child: Container(
width: 360.0,
height: 480.0,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12.0),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
"Password",
style:
TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0),
),
const SizedBox(height: 50.0),
Container(
decoration: BoxDecoration(
color: Colors.grey.shade300,
borderRadius: BorderRadius.circular(11.0),
),
width: 330.0,
child: TextFormField(
controller: passwordController,
obscureText: _obscureText,
decoration: InputDecoration(
hintText: "New Password",
hintStyle: const TextStyle(fontWeight: FontWeight.w300),
prefixIcon: const Icon(Icons.key),
suffixIcon: IconButton(
onPressed: () {
setState(
() {
_obscureText = !_obscureText;
},
);
},
icon: Icon(_obscureText
? Icons.visibility
: Icons.visibility_off),
),
border: InputBorder.none,
),
),
),
const SizedBox(height: 40.0),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(11.0),
color: Colors.grey.shade300,
),
width: 330.0,
child: TextFormField(
controller: confirmPasswordController,
obscureText: _obscureText2,
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Confirm Password",
hintStyle: const TextStyle(fontWeight: FontWeight.w300),
prefixIcon: const Icon(Icons.key),
suffixIcon: IconButton(
onPressed: () {
setState(
() {
_obscureText2 = !_obscureText2;
},
);
},
icon: Icon(_obscureText2
? Icons.visibility
: Icons.visibility_off),
),
),
),
),
const SizedBox(height: 40.0),
ElevatedButton(
onPressed: () {
var password = passwordController.text;
var confirmPassword = confirmPasswordController.text;
if (password.isEmpty || confirmPassword.isEmpty) {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: const Text(
"Enter all details",
style: TextStyle(fontWeight: FontWeight.bold),
),
content: const Text(
"Please fill all required details"),
actions: [
TextButton(
onPressed: () {
Navigator.pop(context);
},
child: const Text(
"Ok",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20.0),
),
),
],
);
},
);
}
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blue,
fixedSize: const Size(150.0, 50.0),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(11.0),
),
),
child: const Text(
"Next",
style: TextStyle(color: Colors.white),
),
),
],
),
),
),
),
),
);
}
}


Comments

Popular posts from this blog

Second GET API Calling with Bloc simple Example in Flutter

Stack Container Scrollable Card widget UI with Custom Widget

Pagination with Bloc Pattern in Flutter