I am trying to set a background image for the Login page using Container. But the background image is not coming. Am I missing something in my code? Are there image standards for flutter? I have no error with Pub get. Please guide.
Below is my code under Container DecorationImage I set my assets image with BoxFit.cover. But the image coming white. With my pubspec.yaml I set assets: – assets/ and Pub get is OK.
Please check my code I am just New to Flutter
import 'package:flutter/material.dart';
class MyLogin extends StatefulWidget {
const MyLogin({Key? key}) : super(key: key);
@override
_MyLoginState createState() => _MyLoginState();
}
class _MyLoginState extends State<MyLogin> {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/login.png'), fit: BoxFit.cover),
),
child: Scaffold(
backgroundColor: Colors.transparent,
body: Stack(
children: [
Container(),
Container(
padding: EdgeInsets.only(left: 35, top: 130),
child: Text(
'WelcomenBack',
style: TextStyle(color: Colors.white, fontSize: 33),
),
),
SingleChildScrollView(
child: Container(
padding: EdgeInsets.only(
top: MediaQuery.of(context).size.height * 0.5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.only(left: 35, right: 35),
child: Column(
children: [
TextField(
style: TextStyle(color: Colors.black),
decoration: InputDecoration(
fillColor: Colors.grey.shade100,
filled: true,
hintText: "Email",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
)),
),
SizedBox(
height: 30,
),
TextField(
style: TextStyle(),
obscureText: true,
decoration: InputDecoration(
fillColor: Colors.grey.shade100,
filled: true,
hintText: "Password",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
)),
),
SizedBox(
height: 40,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'Sign in',
style: TextStyle(
fontSize: 27, fontWeight: FontWeight.w700),
),
CircleAvatar(
radius: 30,
backgroundColor: Color(0xff4c505b),
child: IconButton(
color: Colors.white,
onPressed: () {},
icon: Icon(
Icons.arrow_forward,
)),
)
],
),
SizedBox(
height: 40,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
TextButton(
onPressed: () {
Navigator.pushNamed(context, 'register');
},
child: Text(
'Sign Up',
textAlign: TextAlign.left,
style: TextStyle(
decoration: TextDecoration.underline,
color: Color(0xff4c505b),
fontSize: 18),
),
style: ButtonStyle(),
),
TextButton(
onPressed: () {},
child: Text(
'Forgot Password',
style: TextStyle(
decoration: TextDecoration.underline,
color: Color(0xff4c505b),
fontSize: 18,
),
)),
],
)
],
),
)
],
),
),
),
],
),
),
);
}
}
I have tried to run the code and its running fine and all the controls are coming but the background images are not coming.
2
Answers
Try this way containing these changes,