
рдпрд╣ рд▓реЗрдЦ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдлрд╝реНрд▓рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдЬреНрдЮрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╕реНрдкрдВрджрди рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорддреБрд▓реНрдп рджреЗрдЦреЗрдВрдЧреЗред
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдлрд╝реНрд▓рдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХрд░реЗрдВ ред
рдбрд╛рд░реНрдЯ OOP рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП Android рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рд▓рдХреНрд╖реНрдп
рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕реНрдкрдВрджрди рд╡рд┐рдЧреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдк FlutterActivity
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ AndroidManifest.xml
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡рд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, FlutterActivity
ред рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдлрд╝реНрд▓рдЯрд░ рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдХреИрд╕реЗ? рдордЪрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рд╕рдВрд▓рдЧреНрдиред рдордЪрд╛рди )ред
рдкрд╛рдбрд╝
рдкрд╛рдбрд╝ рд╡рд┐рдЧреЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХрд▓ рд╕реНрдХреНрд░реАрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рджреГрд╢реНрдп рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЯреВрд▓рдмрд╛рд░, рдореЗрдиреВ, рд╕рд╛рдЗрдб рдореЗрдиреВ, рд╕реНрдиреИрдХ рдмрд╛рд░, рдПрдлрдПрдмреА, рдЖрджрд┐ред рдФрд░ FrameLayout
рдЙрдкрдпреЛрдЧ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк FrameLayout
рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рдбрд╝ рдореЗрдВ, рдпрд╣ рд╕рдм рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╛рдж рд░рдЦреЗрдВ, рд╕реНрдкрдВрджрди рдореЗрдВ рдХреЛрдИ рднреА рдШрдЯрдХ рдПрдХ рд╡рд┐рдЬреЗрдЯ рд╣реИ ред

рдКрдкрд░ рдХреА рдЫрд╡рд┐ рдкрд╛рдбрд╝ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рдЬреЛ рд╕рд╛рдЗрдб рдореЗрдиреВ, рдирд┐рдЪрд▓рд╛ рдкреИрдирд▓, рдЯреВрд▓рдмрд╛рд░, рд╕рд╛рдордЧреНрд░реА рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
рдЪреВрдВрдХрд┐ рдкрд╛рдбрд╝ рд╕рд╛рдордЧреНрд░реА рд╡рд┐рдЧреЗрдЯреНрд╕ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдШрдЯрдХреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдм рд╣рдо рдПрдХ рдкрд╛рдбрд╝ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( ), ));
рдЬрдм рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕рдлреЗрдж рд░рд┐рдХреНрдд рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдордЪрд╛рди рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдЗрдП рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдХреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдХреЗ рдЧреБрдг рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рд░рдВрдЧ рдХреЛ рдкреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ:
void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, ), ));
рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреАрд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЖрдк рдЕрдиреНрдп рдкрд╛рдбрд╝ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдордЪрд╛рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВред рдЖрдЗрдП рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдЧреБрдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
AppBar рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╡рд╣реА Toolbar
рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ AppBar рдЧреБрдг рдХрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред

рдЕрдЧреНрд░рдгреА : рд╡рд┐рдЬреЗрдЯ рдЬреЛ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╣реИрдордмрд░реНрдЧрд░ рдореЗрдиреВ рдЖрдЗрдХрди рдпрд╛ рдмреИрдХ рдмрдЯрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╢реАрд░реНрд╖рдХ : Text
рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рд▓рд┐рдкрдЯрд╛ рдПрдХ рдЯреВрд▓рдмрд╛рд░ рд╢реАрд░реНрд╖рдХред
рдХреНрд░рд┐рдпрд╛рдПрдБ : рдпрд╣ menu.xml
рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдореЗрдиреВ рдЖрдЗрдЯрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <item/>
рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдХреНрд░рд┐рдпрд╛ рдЧреБрдг рдореЗрдиреВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЗрди рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреЛ IconButtons рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ <item/>
рдмрд░рд╛рдмрд░ рд╣реЛрддреЗ рд╣реИрдВред
рдиреАрдЪреЗ : рдЖрдорддреМрд░ рдкрд░ AppBar рдХреЗ рддрд╣рдд рд╕реНрдерд┐рдд рдПрдХ TabBar
рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
FlexSpace : рдЗрд╕ рд╡рд┐рдЬреЗрдЯ CollapsingToolbarLayout
(рдмрдВрдзрдиреЗрд╡рд╛рд▓рд╛ рдЙрдкрдХрд░рдг рдкрдЯреНрдЯреА) рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдПрдХ рдЖрдЗрдХрди, рд╢реАрд░реНрд╖рдХ рдФрд░ рдореЗрдиреВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг Appbar рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, appBar: new AppBar( leading: new Icon(Icons.menu), title: new Text("My Title"), actions: <Widget>[ new IconButton( icon: new Icon(Icons.shopping_cart), onPressed: () {}, ), new IconButton( icon: new Icon(Icons.monetization_on), onPressed: () {}, ) ], ), ), ));

рдпрд╣ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓рдмрд╛рд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рд╡рд┐рдЬреЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рд╢реИрд▓реА рдпрд╛ рд░рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк AppBar рдХреЗ рдмрд╛рдХреА рдЧреБрдгреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
2. рд╢рд░реАрд░ (рдХрд┐рд╕реА рднреА рджреГрд╢реНрдп рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░)
рдпрд╣ рдордЪрд╛рди рдХрд╛ рдореБрдЦреНрдп рдШрдЯрдХ рд╣реИред рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдлреНрд░реИрдЧрдореЗрдВрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХрдВрдЯреЗрдирд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬреЗрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рд╢рд░реАрд░ рдореЗрдВ рд▓рд╛рд▓ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдЕрдиреНрдп рд╡рд┐рдЧреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ListView, Row, Column, Stack, рдЖрджрд┐ред
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, appBar: new AppBar( leading: new Icon(Icons.menu), title: new Text("My Title"), actions: <Widget>[ new IconButton( icon: new Icon(Icons.shopping_cart), onPressed: () {}, ), new IconButton( icon: new Icon(Icons.monetization_on), onPressed: () {}, ) ], ), body: new Container( color: Colors.red, ), ), ));

рд╢рд░реАрд░ рдХреЛ AppBar, FAB рдФрд░ рд╕рд╛рдЗрдбрдмрд╛рд░ рдХреЗ рдкреАрдЫреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рд╣рдордиреЗ рд╕реНрдХреИрдлреЛрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрд▓реЗ рд░рдВрдЧ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛, рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд▓рд╛рд▓ рд░рдВрдЧ рдХрд╛ рд░рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдХреИрдлреЛрд▓реНрдб рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╡рд┐рдЬреЗрдЯ DrawerLayout
рдореЗрдВ рдПрдХ DrawerLayout
рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд▓рд┐рдВрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╕реЗ DrawerLayout
рдХрд░рддрд╛ рд╣реИред

рджрд░рд╛рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ Scaffold.drawer рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Android рдХреА рддрд░рд╣, рд╣рдо DrawerLayout
рдЕрдВрджрд░ NavigationView
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ Android рдФрд░ рд╕реНрдкрдВрджрди рдореЗрдВ рд╕рдорддреБрд▓реНрдп рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред

рдбреНрд░рд╛рдЕрд░ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рдбреНрд░рд╛рдЕрд░рд╣реЗрдбрд░ рд╣реЛрддрд╛ рд╣реИ , рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдмрд╛рдХреА рд╕реВрдЪреА рдЖрдЗрдЯрдо рдЖрдорддреМрд░ рдкрд░ ListTiles рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдирд┐рдореНрди рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдбреНрд░рд╛рдЕрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, appBar: new AppBar( title: new Text("My Title"), actions: <Widget>[ new IconButton( icon: new Icon(Icons.shopping_cart), onPressed: () {}, ), new IconButton( icon: new Icon(Icons.monetization_on), onPressed: () {}, ) ], ), drawer: new Drawer( child: new ListView( children: <Widget>[ new DrawerHeader( child: new Text("Drawer Header"), decoration: new BoxDecoration( color: Colors.blue, ), ), new Text("Item 1"), new Text("Item 2"), new Text("Item 3"), new Text("Item 4"), new Text("Item 5"), new Text("Item 6"), ], ), ), ), ));

рдпрд╣ рд╡рд╣ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬрдм AppBar рдореЗрдВ рдкрд╛рдбрд╝ рд╡рд┐рдЬреЗрдЯ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реИрдордмрд░реНрдЧрд░ рдореЗрдиреВ рдЖрдЗрдХрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреА рдЖрдЗрдХрди рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
4. рдмреЙрдЯрдирд╡реАрдЧреЗрд╢рдирдмреЗрд░ (рдмреЙрдЯрдирд╡реАрдЧреЗрд╢рди рд╡реНрдпреВ)
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рд╛рдордЧреНрд░реА рд╡рд┐рдЬреЗрдЯ, TextNavigationBar рдореЗрдВ рдкрд╛рда рдФрд░ рдЖрдЗрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред
рдж рдмреЙрдЯрдиреИрд╡рд┐рдЧреЗрд╢рди рдмрд╛рдпрд░ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдХреИрдлреЛрд▓реНрдб.рдмреЙрдЯреЛрдордиреИрд╡рд┐рдЧреЗрд╢рди рдмрд╛рдпрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░, рдЖрдк app:menu="@menu/my_navigation_items"
рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ BottomNavigationView
рдореЗрдВ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ app:menu="@menu/my_navigation_items"
, рдЬрд╣рд╛рдВ my_navigation_items
<item/>
рдореЗрдВ рд╕рднреА рдореЗрдиреВ рдЖрдЗрдЯрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рд╕реНрдкрдВрджрди items
рдкреНрд░реЙрдкрд░реНрдЯреА items
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ BottomNavigationBarItem
рд╕реВрдЪреА, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдореЗрдиреВ рдореЗрдВ рдПрдХ рдЖрдЗрдХрди, рд╢реАрд░реНрд╖рдХ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, appBar: ..., body:..., drawer: ..., bottomNavigationBar: new BottomNavigationBar(items: [ new BottomNavigationBarItem( icon: new Icon(Icons.home), title: new Text("Home"), ), new BottomNavigationBarItem( icon: new Icon(Icons.search), title: new Text("Search"), ) ]), ), ));

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреЙрдЯрдиреИрд╡рд┐рдЧреЗрд╢рдирдмреЗрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдореЗрдиреВ рдЖрдЗрдЯрдо рд╣реИрдВред
рдордЪрд╛рди рдореЗрдВ рдПрдХ рдХреНрд▓рд┐рдХ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдЬреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдмрдЪрдд рд╕реНрдерд┐рддрд┐ рдФрд░ рдХреБрдЫ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╖рдп рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдордЪрд╛рди рдореЗрдВ рдПрдХ FAB рдЬреЛрдбрд╝реЗрдВред рдиреАрдЪреЗ рдкрд╛рдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рд╣реИред
import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp( home: new Scaffold( backgroundColor: Colors.yellowAccent, appBar: new AppBar( title: new Text("My Title"), actions: <Widget>[ new IconButton( icon: new Icon(Icons.shopping_cart), onPressed: () {}, ), new IconButton( icon: new Icon(Icons.monetization_on), onPressed: () {}, ) ], ), body: new Container( color: Colors.red, ), drawer: new Drawer( child: new ListView( children: <Widget>[ new DrawerHeader( child: new Text("Drawer Header"), decoration: new BoxDecoration( color: Colors.blue, ), ), new Text("Item 1"), new Text("Item 2"), new Text("Item 3"), new Text("Item 4"), new Text("Item 5"), new Text("Item 6"), ], ), ), bottomNavigationBar: new BottomNavigationBar(items: [ new BottomNavigationBarItem( icon: new Icon(Icons.home), title: new Text("Home"), ), new BottomNavigationBarItem( icon: new Icon(Icons.search), title: new Text("Search"), ) ]), floatingActionButton: new FloatingActionButton( onPressed: (){}, child: new Icon(Icons.add), ), ), ));

рдПрдлрдПрдмреА рдореЗрдВ рдЕрдм onPressed
рдкрджреНрдзрддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдмрдЯрди рд╕реНрдкрд░реНрд╢ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рд╡рд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛ рдЗрд╕ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреА рдЧрдИ рдереАред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрдкрдВрджрди рдПрдХ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛, рд╕реБрдВрджрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред рдпрд╣ рдЖрдХрд░реНрд╖рдХ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд▓рдЪреАрд▓рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдЬреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд╛рдбрд╝ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╣рд┐рдорд╢реИрд▓ рдХреА рдиреЛрдХ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдЕрдиреНрдп рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред