|
- import 'package:flutter/material.dart';
- import 'package:zhiying_comm/zhiying_comm.dart';
- import 'package:cached_network_image/cached_network_image.dart';
-
- ///
- /// 快速登陆
- ///
- class LoginQuickPage extends StatelessWidget {
- final Map<String, dynamic> model;
-
- const LoginQuickPage(this.model, {Key key}) : super(key: key);
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- backgroundColor: Colors.white,
- body: LoginQuickContainerPage(),
- );
- }
- }
-
- class LoginQuickContainerPage extends StatefulWidget {
- @override
- _LoginQuickContainerPageState createState() => _LoginQuickContainerPageState();
- }
-
- class _LoginQuickContainerPageState extends State<LoginQuickContainerPage> {
-
- /// 登陆事件
- void _submitOnClick() {
- print('点击登陆');
- }
-
- /// 切换账号
- void _changeAccount() {
- print('切换账号');
- }
-
- /// 同意or取消用户协议
- void _agree(){
-
- }
-
- final _sizedBoxHeight30 = const SizedBox(height: 30);
- final _sizedBoxHeight35 = const SizedBox(height: 35);
- final _sizedBoxHeight20 = const SizedBox(height: 20);
- final _sizedBoxHeight16 = const SizedBox(height: 16);
- final _sizedBoxHeight28 = const SizedBox(height: 28);
-
- @override
- Widget build(BuildContext context) {
- return Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: <Widget>[
- /// appbar
- _getAppBarWidget(),
- _sizedBoxHeight30,
-
- /// logo
- _getLogoWidget(null),
- _sizedBoxHeight35,
-
- /// 账号
- _getAccountWidget(null),
- // _sizedBoxHeight20,
-
- /// 切换账号提示
- _changeAccountTipWidget(null),
- // _sizedBoxHeight20,
-
- /// 登陆按钮
- _submitButton(null),
- _sizedBoxHeight16,
-
- /// 协议
- _protocolWidget(null),
-
- /// 底部tip
- Expanded(
- child: Align(
- child: _bottomTipWidget(null),
- alignment: Alignment.bottomCenter,
- ),
- )
- ],
- );
- }
-
- /// 底部提示
- Widget _bottomTipWidget(var model) {
- return Container(
- margin: const EdgeInsets.only(bottom: 28), child: Text('中国电信提供认证服务', style: TextStyle(fontSize: 11, color: HexColor.fromHex('#C0C0C0'))));
- }
-
- /// 协议
- Widget _protocolWidget(var model) {
- return Container(
- child: Text('《嗨如意用户协议》', style: TextStyle(fontSize: 11, color: HexColor.fromHex('#C0C0C0'))),
- );
- }
-
- /// 立即登陆按钮
- Widget _submitButton(var model) {
- return Material(
- child: Container(
- height: 52,
- width: double.infinity,
- color: Colors.white,
- padding: const EdgeInsets.symmetric(horizontal: 27.5),
- child: RaisedButton(
- child: Text(
- '立即登录',
- style: TextStyle(fontSize: 15),
- ),
- textColor: HexColor.fromHex('#FFFFFF'),
- color: HexColor.fromHex('#FF3939'),
- disabledColor: HexColor.fromHex('#F5F5F5'),
- disabledTextColor: HexColor.fromHex('#999999'),
- elevation: 5,
- shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(52 / 2)),
- onPressed: _submitOnClick,
- ),
- ),
- );
- }
-
- /// 切换账号提示
- Widget _changeAccountTipWidget(var model) {
- return GestureDetector(
- behavior: HitTestBehavior.opaque,
- onTap: () => _changeAccount(), child: Container( margin: const EdgeInsets.symmetric(vertical: 20), child: Text('切换账号', style: TextStyle(fontSize: 13, color: HexColor.fromHex('#FF3939')))));
- }
-
- /// 账号
- Widget _getAccountWidget(var model) {
- return Text('158****3158', style: TextStyle(fontSize: 25, color: HexColor.fromHex('#333333')));
- }
-
- /// login
- Widget _getLogoWidget(var model) {
- return Container(
- margin: EdgeInsets.only(bottom: 12, top: MediaQuery.of(context).padding.top),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(14),
- boxShadow: [
- BoxShadow(color: Colors.grey[300], offset: Offset(0.0, 0.0), blurRadius: 10.0, spreadRadius: 1.0),
- BoxShadow(color: Colors.grey[300], offset: Offset(0.0, 0.0)),
- ],
- ),
- height: 80,
- width: 80,
- child: CachedNetworkImage(
- imageUrl: model?.logoImg ?? '',
- fit: BoxFit.fill,
- ),
- );
- }
-
- /// appBar
- Widget _getAppBarWidget() {
- return AppBar(
- brightness: Brightness.light,
- backgroundColor: Colors.transparent,
- elevation: 0,
- leading: Icon(
- Icons.arrow_back_ios,
- size: 22,
- color: HexColor.fromHex('#333333'),
- ),
- );
- }
- }
|