Last active
February 7, 2021 00:20
-
-
Save lbarqueira/fdae7f08d8e411f0688893de90b84320 to your computer and use it in GitHub Desktop.
Introduction to widgets - https://flutter.dev/docs/development/ui/widgets-intro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() { | |
runApp( | |
MaterialApp( | |
debugShowCheckedModeBanner: false, | |
title: 'My app', // used by the OS task switcher | |
home: SafeArea( | |
child: MyScaffold(), | |
), | |
), | |
); | |
} | |
class MyScaffold extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
// Material is a conceptual piece of paper on which the UI appears. | |
return Material( | |
// Column is a vertical, linear layout. | |
child: Column( | |
children: [ | |
MyAppBar( | |
title: Text( | |
'Example title', | |
style: Theme.of(context).primaryTextTheme.headline6, | |
), | |
), | |
Expanded( | |
child: Center( | |
child: Text('Hello, world!'), | |
), | |
), | |
], | |
), | |
); | |
} | |
} | |
class MyAppBar extends StatelessWidget { | |
MyAppBar({this.title}); | |
// Fields in a Widget subclass are always marked "final". | |
final Widget title; | |
@override | |
Widget build(BuildContext context) { | |
return Container( | |
height: 56.0, // in logical pixels | |
padding: const EdgeInsets.symmetric(horizontal: 8.0), | |
decoration: BoxDecoration(color: Colors.blue[500]), | |
// Row is a horizontal, linear layout. | |
child: Row( | |
// <Widget> is the type of items in the list. | |
children: <Widget>[ | |
IconButton( | |
icon: Icon(Icons.menu), | |
tooltip: 'Navigation menu', | |
onPressed: null, // null disables the button | |
), | |
// Expanded expands its child to fill the available space. | |
Expanded( | |
child: title, | |
), | |
IconButton( | |
icon: Icon(Icons.search), | |
tooltip: 'Search', | |
onPressed: null, | |
), | |
], | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment