728x90
mail/login_page.dart
import 'package:flutter/material.dart';
class AuthPage extends StatelessWidget {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context){
final Size size = MediaQuery.of(context).size; // 핸드폰 화면 사이즈를 가져와준것
final TextEditingController _emailController = TextEditingController();
final TextEditingController _passwordController = TextEditingController();
return Scaffold(
body:Stack(
alignment:Alignment.center,
children: <Widget>[
Container(color: Colors.white,),
Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.end,
children:<Widget>[
Container(width:200,height:200,color:Colors.black,),
Stack(children: <Widget>[
Padding(
padding: EdgeInsets.all(size.width*0.05),
child: Card(
shape:RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10)
)
,elevation:6,
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Form(
key:_formKey,
child: Column(
children: <Widget>[
TextFormField(controller: _emailController,
decoration: InputDecoration(
icon:Icon(Icons.account_circle),
labelText:"E-mail",
),
validator:(String value){
if(value.isEmpty){
return "E-mail을 바르게 입력해주세요!";
}
return null;
},
),
TextFormField(controller: _passwordController,
decoration: InputDecoration(
icon: Icon(Icons.vpn_key),
labelText: "비밀번호"
),
validator: (String value){
if(value.isEmpty){
return "올바른 비밀번호를 입력해주세요!";
}
return null;
},),
Positioned(left: size.width*0.15,
right: size.width*0.15,
bottom: 0,
child: RaisedButton(padding: const EdgeInsets.all(2.0),
child: Text("Login"),
color:Colors.blue,
shape: RoundedRectangleBorder(borderRadius:BorderRadius.circular(15)),
onPressed: (){
}),
),
Text("Forgot Password?"),
]
)
),
)),
),
],
),
Container(width:100,height:100),
Text("아직 회원이 아니신가요? 그렇다면, 가입하세요!"),
Container(height: size.height*0.05,)
],
),
],
),
);
}
}
main.dart
import 'package:flutter/material.dart';
import 'mail/login_page.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(home: AuthPage());
}
}
엄청 단순하게 불러오는 구조!
댓글