for the project I need to code an application that does some certain things, I have taught myself how to use flutter and coded a big portion of the application already. However, I need some assistance in fixing some issues with the code. It's written in .dart Anyway here is my code:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int _currentIndex = 0;
@override
Widget build(BuildContext context) {
var map = new Card(
child: new Column(
children: <Widget>[
new ListTile(
leading: new Icon(
Icons.place,
color: Colors.redAccent,
size: 56.0,
),
title: new Text(
"Map",
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: new Text("Choose your base location!"),
enabled: true,
onLongPress: () => print("longpress"))
],
),
);
final mapbox = new Container(
margin: new EdgeInsets.only(left: 10, right: 10, top: 10),
child: new SizedBox(
height: 80.0,
child: map,
),
);
var players = new Card(
child: new Column(
children: <Widget>[
new ListTile(
leading: new Icon(
Icons.supervised_user_circle,
color: Colors.redAccent,
size: 56.0,
),
title: new Text(
"Players",
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: new Text("Loby of the connected players"),
enabled: true,
onLongPress: () => print("longpress"))
],
),
);
final playerbox = new Container(
margin: new EdgeInsets.only(left: 10, right: 10, top: 10),
child: SizedBox(
height: 80.0,
child: players,
),
);
var rounds = new Card(
child: new Column(
children: <Widget>[
new ListTile(
leading: new Icon(
Icons.cached,
color: Colors.redAccent,
size: 56.0,
),
title: new Text(
"Rounds",
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: new Text(
"Determine the number of rounds that the game will have"),
enabled: true,
onLongPress: () => print("longpress"))
],
),
);
final roundsbox = new Container(
margin: new EdgeInsets.only(left: 10, right: 10, top: 10),
child: SizedBox(
height: 80.0,
child: rounds,
),
);
var time = new Card(
child: new Column(
children: <Widget>[
new ListTile(
leading: new Icon(
Icons.timer,
color: Colors.redAccent,
size: 56.0,
),
title: new Text(
"Duration",
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: new Text("Determine the duration of each round"),
enabled: true,
onLongPress: () => print("longpress"))
],
),
);
final timebox = new Container(
margin: new EdgeInsets.only(left: 10, right: 10, top: 10),
child: SizedBox(
height: 80.0,
child: time,
),
);
final startbutton =FlatButton(
onPressed: () {},
child: Text ("Start the game"),
color: Colors.redAccent,
);
final home = new ListView(
children: <Widget>[
mapbox,
playerbox,
roundsbox,
timebox,
],
);
final _pageoptions = [home, Text("connections"), Text("Settings")];
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("hide & seek"),
centerTitle: true,
backgroundColor: Colors.redAccent,
),
bottomNavigationBar: BottomNavigationBar(
currentIndex: _currentIndex,
backgroundColor: Colors.redAccent,
items: [
BottomNavigationBarItem(
icon: Icon(
Icons.home,
color: Colors.white,
size: 30.0,
),
title: Text(
'Home',
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
backgroundColor: Colors.redAccent),
BottomNavigationBarItem(
icon: Icon(
Icons.bluetooth,
color: Colors.white,
size: 30.0,
),
title: Text(
'Bluetooth',
style:
TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
backgroundColor: Colors.redAccent),
BottomNavigationBarItem(
icon: Icon(
Icons.settings,
color: Colors.white,
size: 30.0,
),
title: Text(
'Settings',
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
backgroundColor: Colors.redAccent),
],
onTap: (index) {
setState(() {
_currentIndex = index;
});
},
),
body: _pageoptions[_currentIndex],
drawer: Drawer(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
"this app was made by sekerlicay.",
style: TextStyle(fontWeight: FontWeight.bold),
),
],
),
),
),
drawerEnableOpenDragGesture: true,
),
);
}
}
What I now want to do is to add everything that is inside ListView into a Container so that I can display these tabs along with some buttons that I will add underneath. If I don't use Containers the buttons just become long (just like the tabs) which is not exactly what I want. In the end I want the home page to have two containers, one with the tabs and one with the buttons.
Thanks in advance, Berk