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
Post a Comment