Skip to content

Instantly share code, notes, and snippets.

@nkraev
Created March 15, 2018 22:44
Show Gist options
  • Save nkraev/bac291c4856cabb1114aefe929c0ac90 to your computer and use it in GitHub Desktop.
Save nkraev/bac291c4856cabb1114aefe929c0ac90 to your computer and use it in GitHub Desktop.
Flutter column not expanding :(
import 'package:flutter/material.dart';
class DemoApp extends StatelessWidget {
Widget build(BuildContext context) => new Scaffold(body: DashboardWidget(() {
return [
Tab(
text: "Goodbye!",
)
];
}));
}
void main() => runApp(new MaterialApp(home: new DemoApp()));
class DashboardWidget extends StatefulWidget {
var _tabsProvider = () => <Widget>[];
DashboardWidget(this._tabsProvider);
@override
createState() => DashboardState(_tabsProvider);
}
class DashboardState extends State<DashboardWidget> {
var _tabsProvider = () => <Widget>[];
var testImg =
"https://upload.wikimedia.org/wikipedia/commons/5/59/Open-box_ballonicon2.png";
var imageSize = 64.0;
DashboardState(this._tabsProvider);
@override
Widget build(BuildContext context) {
var tabs = _tabsProvider();
return DefaultTabController(
length: tabs.length,
child: Scaffold(
appBar: AppBar(
title: Text("Dashboard"),
bottom: TabBar(
isScrollable: true,
tabs: tabs,
),
),
body: TabBarView(
children: <Widget>[_createList()],
),
),
);
}
Widget _createList() {
return ListView.builder(
itemBuilder: (context, int) => _createIssueItem(),
);
}
Text boldText(String label) =>
Text(label, style: new TextStyle(fontWeight: FontWeight.bold));
Widget _createIssueItem() {
createChildren() {
return [
Image.network(
testImg,
height: imageSize,
width: imageSize,
),
Padding(padding: EdgeInsets.only(left: 16.0)),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
boldText("Some title"),
Text("Address"),
Text("Description")
],
),
];
}
return Padding(
padding: EdgeInsets.all(8.0),
child: Row(
children: createChildren(),
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment