Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- void main() {
- runApp(const MyApp());
- }
- class MyApp extends StatelessWidget {
- const MyApp({super.key});
- // This widget is the root of your application.
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Flutter Demo',
- theme: ThemeData(
- // This is the theme of your application.
- //
- // Try running your application with "flutter run". You'll see the
- // application has a blue toolbar. Then, without quitting the app, try
- // changing the primarySwatch below to Colors.green and then invoke
- // "hot reload" (press "r" in the console where you ran "flutter run",
- // or simply save your changes to "hot reload" in a Flutter IDE).
- // Notice that the counter didn't reset back to zero; the application
- // is not restarted.
- primarySwatch: Colors.blue,
- ),
- home: const MyHomePage(title: 'Flutter Demo Home Page'),
- );
- }
- }
- class MyHomePage extends StatefulWidget {
- const MyHomePage({super.key, required this.title});
- // This widget is the home page of your application. It is stateful, meaning
- // that it has a State object (defined below) that contains fields that affect
- // how it looks.
- // This class is the configuration for the state. It holds the values (in this
- // case the title) provided by the parent (in this case the App widget) and
- // used by the build method of the State. Fields in a Widget subclass are
- // always marked "final".
- final String title;
- @override
- State<MyHomePage> createState() => _MyHomePageState();
- }
- class _MyHomePageState extends State<MyHomePage> {
- int _counter = 0;
- String _text = 'test 1';
- void _incrementCounter() {
- setState(() {
- // This call to setState tells the Flutter framework that something has
- // changed in this State, which causes it to rerun the build method below
- // so that the display can reflect the updated values. If we changed
- // _counter without calling setState(), then the build method would not be
- // called again, and so nothing would appear to happen.
- _counter++;
- });
- }
- @override
- Widget build(BuildContext context) {
- // This method is rerun every time setState is called, for instance as done
- // by the _incrementCounter method above.
- //
- // The Flutter framework has been optimized to make rerunning build methods
- // fast, so that you can just rebuild anything that needs updating rather
- // than having to individually change instances of widgets.
- return Scaffold(
- appBar: AppBar(
- // Here we take the value from the MyHomePage object that was created by
- // the App.build method, and use it to set our appbar title.
- title: Text(widget.title),
- ),
- body: Material(
- child: Row(
- children: [
- Container(
- width: 50,
- decoration: const BoxDecoration(
- color: Colors.red,
- ),
- child: Column(
- children: <Widget>[
- Container(
- height: 50,
- decoration: const BoxDecoration(
- color: Colors.blue,
- ),
- child: const Center(
- child: Text(
- 'Side Menu',
- style: TextStyle(
- color: Colors.white,
- fontSize: 20,
- fontWeight: FontWeight.bold,
- ),
- ),
- ),
- ),
- ListTile(
- title: const Text('Home'),
- onTap: () {
- // navigate to home screen
- setState(() {
- _text = 'test 1';
- });
- },
- ),
- ListTile(
- title: const Text('Profile'),
- onTap: () {
- setState(() {
- _text = 'test 2';
- });
- // navigate to profile screen
- },
- ),
- Material(
- child: InkWell(
- splashColor: Colors.blue,
- hoverColor: Colors.red,
- onTap: () {
- setState(() {
- _text = 'test 5';
- });
- // navigate to settings screen
- },
- child: Container(
- color: Colors.blue, child: const Text('Inkwell')),
- ),
- ),
- ListTile(
- splashColor: Colors.blue,
- selectedColor: Colors.red,
- hoverColor: Colors.red,
- title: const Text('Settings'),
- onTap: () {
- setState(() {
- _text = 'test 3';
- });
- // navigate to settings screen
- },
- ),
- ],
- ),
- ),
- SizedBox(
- height: MediaQuery.of(context).size.height,
- width: MediaQuery.of(context).size.width - 50,
- child: Center(
- child: Text(_text),
- ),
- )
- ],
- ),
- ));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement