import 'package:flutter/material.dart'; class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State createState() => _MyHomePageState(); } //Da haben wir letztes mal gemacht aber ich weiß jetzt nicht warum es nicht funktioniert //?????? /*class _MyHomePageState extends State { int _selectedIndex = 0; static final List _widgetOptions = [ Table(border: TableBorder.all(), columnWidths:const< int, TableColumnWidth>{ 0: IntrinsicColumnWidth(), 1: FlexColumnWidth(), 2: FixedColumnWidth(64), }, defaultVerticalAlignment: TableCellVerticalAlignment.middle, children: [ TableRow( children: [ Container( height: 32, color: Colors.green, ), TableCell( verticalAlignment: TableCellVerticalAlignment.top, child: Container( height: 32, width: 32, color: Colors.red, ), ), Container( height: 64, color: Colors.blue, ), ], ), TableRow( decoration: const BoxDecoration( color: Colors.grey, ), children: [ Container( height: 64, width: 128, color: Colors.purple, ), Container( height: 32, color: Colors.yellow, ), Center( child: Container( height: 32, width: 32, color: Colors.orange, ), ), ], ), ], ), ]; void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( /* child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text( 'Knopfdruck:', ), Text( '$_counter', style: Theme.of(context).textTheme.headline4, ), ], ),*/ child: _widgetOptions.elementAt(_selectedIndex), ), floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), ), bottomNavigationBar: BottomAppBar( color: const Color(0xFF1601FD), child: IconTheme( data: IconThemeData(color: Theme.of(context).colorScheme.onPrimary), child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ IconButton( tooltip: 'News', icon: const Icon(Icons.newspaper), onPressed: /*() {}*/() => _onItemTapped(0), ), //if (centerLocations.contains(fabLocation)) const Spacer(), IconButton( tooltip: 'Mängel', icon: const Icon(Icons.warning), onPressed: () => /*{_pushMangel()}*/ _onItemTapped(1), ), IconButton( tooltip: 'Profil', icon: const Icon(Icons.person), onPressed: () => /*{_pushProfile()}*/ _onItemTapped(2), ), ], ), ), ) ); } } */ class _MyHomePageState extends State { int _selectedIndex = 0; static const TextStyle optionStyle = TextStyle(fontSize: 30, fontWeight: FontWeight.bold); static const List _widgetOptions = [ Text( 'Index 0: News', style: optionStyle, ), Text( 'Index 1: Mängel', style: optionStyle, ), Text( 'Index 2: Profil', style: optionStyle, ) ]; void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Oggauer Gemeinde Trommler'), ), body: Center( child: _widgetOptions.elementAt(_selectedIndex), ), bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem( icon: Icon(Icons.newspaper), label: 'News', ), BottomNavigationBarItem( icon: Icon(Icons.report), label: 'Mängel', ), BottomNavigationBarItem( icon: Icon(Icons.person), label: 'Profil', ), ], currentIndex: _selectedIndex, selectedItemColor: Colors.blue, onTap: _onItemTapped, ), ); } }