我正在尝试使用Container为登录页面设置背景图像。但是背景图像没有出现。我的代码中缺少了什么吗?Flutter有图像标准吗?我使用Pub get没有错误。请指导。
下面是我在Container DecorationImage下的代码,我用BoxFit. cover设置了我的资产图像,但是图像变成了白色。我用pubspec.yaml设置了资产:- assets/和Pub get就可以了。
请检查我的代码,我只是新的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(
'Welcome\nBack',
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,
),
)),
],
)
],
),
)
],
),
),
),
],
),
),
);
}
}
我已经试着运行代码,它运行得很好,所有的控件都来了,但背景图像没有来。
2条答案
按热度按时间8ljdwjyq1#
尝试用这种方法来控制这些变化,
xxhby3vn2#