抛出错误@Scaffold表示位置参数过多,另一个@Padding表示位置参数必须出现在命名参数之前。
import 'package:flutter/material.dart';
void main() =>
runApp(MaterialApp
(debugShowCheckedModeBanner: false,
home: LoginScreen()
)
);
class LoginScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Container(
child: Column(
children: <Widget>[
Container(
height: 260,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/RightLogo.jpg"),
fit: BoxFit.fill))),
Positioned(
child: Container(
margin: EdgeInsets.only(top: 25),
child: Center(
child: Text(
"Login",
style: TextStyle(
color: Colors.blue,
fontSize: 30,
fontWeight: FontWeight.bold),
),
),
),
)
],
),
),
Padding(
padding: EdgeInsets.all(30.0),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: Color.fromRGBO(143, 148, 251, .8),
blurRadius: 20.0,
offset: Offset(0, 10)
)
]
),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
border: Border(bottom: BorderSide(color: Colors.grey[100]))
),
child: TextField(
decoration: InputDecoration(
border: InputBorder.none,
hintText: "User Name/Login",
hintStyle: TextStyle(color: Colors.grey[400])
),
)
),
Container(
padding: EdgeInsets.all(8.0),
child: TextField(
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Password",
hintStyle: TextStyle(color: Colors.grey[400])
),
)
)
],
),
),
SizedBox(height: 30,),
Container(
height: 50,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
gradient: LinearGradient(
colors: [
Color.fromRGBO(143, 148, 251, 1),
Color.fromRGBO(143, 148, 251, .6),
]
)
),
)
])
),
);
}
}
那是什么原因呢?我知道这是我的一个错误,但如果有人指出这个缺陷,我将不胜感激。另外,代码的其余部分可能是无用的。
在对缺少的代码发表评论后编辑。很抱歉给您带来不便。
这是因为填充不在列小部件的子列表中。它被用作scaffold的位置参数。
只需ctrl+x您的填充并将其粘贴到列的子项中。
Column(
children: <Widget>[
Container(
height: 260,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/RightLogo.jpg"),
fit: BoxFit.fill))),
Positioned(
child: Container(
margin: EdgeInsets.only(top: 25),
child: Center(
child: Text(
"Login",
style: TextStyle(
color: Colors.blue,
fontSize: 30,
fontWeight: FontWeight.bold),
),
),
),
),
Padding(
padding: EdgeInsets.all(30.0),
child: Column(children: <Widget>[
Container(
padding: EdgeInsets.all(5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: Color.fromRGBO(143, 148, 251, .8),
blurRadius: 20.0,
offset: Offset(0, 10))
]),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
border: Border(
bottom:
BorderSide(color: Colors.grey[100]))),
child: TextField(
decoration: InputDecoration(
border: InputBorder.none,
hintText: "User Name/Login",
hintStyle:
TextStyle(color: Colors.grey[400])),
)),
Container(
padding: EdgeInsets.all(8.0),
child: TextField(
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Password",
hintStyle:
TextStyle(color: Colors.grey[400])),
))
],
),
),
SizedBox(
height: 30,
),
Container(
height: 50,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
gradient: LinearGradient(colors: [
Color.fromRGBO(143, 148, 251, 1),
Color.fromRGBO(143, 148, 251, .6),
])),
)
])),
],
),