import 'package:flutter/material.dart';
typedef LoginObserver = void Function();
class LoginWidget extends StatefulWidget {
final LoginObserver loginObserver;
LoginWidget({this.loginObserver});
@override
_LoginState createState() {
return _LoginState();
}
}
class _LoginState extends State<LoginWidget> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: new Text("登录"),
),
body: Padding(
padding: EdgeInsets.only(left: 15.0, right: 15.0),
child: buildTextField(),
),
);
}
Widget buildTextField() {
return Column(
children: <Widget>[
Container(
child: TextField(
decoration:
InputDecoration(labelText: "请输入姓名", icon: Icon(Icons.phone)),
keyboardType: TextInputType.phone,
obscureText: false,
),
margin: EdgeInsets.only(top: 15.0),
),
Container(
child: TextField(
decoration:
InputDecoration(labelText: "请输入密码", icon: Icon(Icons.lock)),
keyboardType: TextInputType.text,
obscureText: true,
),
margin: EdgeInsets.only(top: 5.0),
),
Container(
child: Row(
children: <Widget>[
new Expanded(
child: RaisedButton(
colorBrightness: Brightness.light,
textTheme: ButtonTextTheme.primary,
onPressed: () => widget.loginObserver(),
child: new Text(
"登录",
style: TextStyle(fontSize: 18.0),
)))
],
),
margin: EdgeInsets.only(top: 5.0),
),
Expanded(
child: Container(
margin: EdgeInsets.only(bottom: 50.0),
child: Align(
child: Text("©1999-2019 北京xxx网络技术有限公司"),
alignment: FractionalOffset(0.5, 1.0)),
),
),
],
);
}
}
Flutter学习笔记(四)-输入框的使用
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 官方文档地址 加入图片的几种方式 Image.asset:加载资源图片,就是加载项目资源目录中的图片,加入图片后会...
- 欧文和小托马斯互换东家的NBA重磅交易已经过去一整年,而当时参与交易的球员中,必然还属小托马斯的处境最惨…… 去年...