// Copyright 2019-present the Flutter authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import 'package:flutter/material.dart'; class LoginPage extends StatefulWidget { @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State { final _usernameController = TextEditingController(); final _passwordController = TextEditingController(); @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: GestureDetector( onTap: () { Navigator.pop(context); }, child: ListView( padding: EdgeInsets.symmetric(horizontal: 24), children: [ Padding( padding: const EdgeInsets.symmetric(vertical: 64), child: SizedBox( height: 160, child: Image.asset('assets/logo.png'), ), ), TextField( controller: _usernameController, decoration: InputDecoration( labelText: 'Username', ), ), SizedBox(height: 12), TextField( controller: _passwordController, decoration: InputDecoration( labelText: 'Password', ), obscureText: true, ), SizedBox( height: 120, child: Image.asset('assets/thumb.png'), ), ], ), ), ), ); } }