Skip to content
Snippets Groups Projects
Commit a0d60d54 authored by Lee Jaehyeok's avatar Lee Jaehyeok
Browse files

codelab7

parent 9c100443
Branches
No related tags found
No related merge requests found
import 'package:english_words/english_words.dart'; import 'package:english_words/english_words.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
void main() { void main() {
...@@ -45,7 +46,70 @@ class MyAppState extends ChangeNotifier { ...@@ -45,7 +46,70 @@ class MyAppState extends ChangeNotifier {
} }
} }
class MyHomePage extends StatelessWidget { class MyHomePage extends StatefulWidget {
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var selectedIndex = 0;
@override
Widget build(BuildContext context) {
Widget page;
switch (selectedIndex) {
case 0:
page = GeneratorPage();
break;
case 1:
page = Placeholder();
break;
default:
throw UnimplementedError('no widget for $selectedIndex');
}
return LayoutBuilder(
builder: (context, Constraints) {
return Scaffold(
body: Row(
children: [
SafeArea(
child: NavigationRail(
extended: Constraints.maxWidth >= 600,
destinations: [
NavigationRailDestination(
icon: Icon(Icons.home),
label: Text('Home'),
),
NavigationRailDestination(
icon: Icon(Icons.favorite),
label: Text('Favorites'),
),
],
selectedIndex: selectedIndex,
onDestinationSelected: (value) {
setState(() {
selectedIndex = value;
});
},
),
),
Expanded(
child: Container(
color: Theme.of(context).colorScheme.primaryContainer,
child: page,
),
),
],
),
);
}
);
}
}
class GeneratorPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var appState = context.watch<MyAppState>(); var appState = context.watch<MyAppState>();
...@@ -58,8 +122,7 @@ class MyHomePage extends StatelessWidget { ...@@ -58,8 +122,7 @@ class MyHomePage extends StatelessWidget {
icon = Icons.favorite_border; icon = Icons.favorite_border;
} }
return Scaffold( return Center(
body: Center(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
...@@ -76,7 +139,6 @@ class MyHomePage extends StatelessWidget { ...@@ -76,7 +139,6 @@ class MyHomePage extends StatelessWidget {
label: Text('Like'), label: Text('Like'),
), ),
SizedBox(width: 10), SizedBox(width: 10),
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
appState.getNext(); appState.getNext();
...@@ -87,7 +149,6 @@ class MyHomePage extends StatelessWidget { ...@@ -87,7 +149,6 @@ class MyHomePage extends StatelessWidget {
), ),
], ],
), ),
),
); );
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment