0
import 'dart:convert';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:singlecheff/consts/consts.dart';
import 'package:flutter/material.dart';
import 'package:singlecheff/functions/fn_business.dart';
import 'package:singlecheff/functions/fn_utils.dart';
class CategoriasViewPage extends StatefulWidget {
CategoriasViewPage({Key key, this.title}) : super(key: key);
final String title;
@override
_CategoriasViewPage createState() => new _CategoriasViewPage();
}
class _CategoriasViewPage extends State<CategoriasViewPage> {
String url;
@override
void initState() {
url = prefs.getString('serverHost') + 'listar_grupos';
super.initState();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: Text("Categorias"),
backgroundColor: secondColor,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios),
onPressed: () {
confirmarVoltarParaControles(context);
},
),
),
body: SizedBox(
child: FutureBuilder(
future: fetchData(url).then((response) {
return jsonDecode(response.body)['Data'];
}),
builder: (context, snapshot) {
if (snapshot.data != null) {
List<dynamic> result = snapshot.data;
return SingleChildScrollView(
child: SizedBox(
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Container(
margin: EdgeInsets.only(top: 20, bottom: 20),
child: Center(
child: Text(
controleAtual['descr_controle'],
style: TextStyle(fontSize: 20),
),
),
),
Container(
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(color: Colors.black12),
),
),
),
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: result.length,
itemBuilder: (context, index) {
return Container(
margin: defaultMargin20,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(color: Colors.black12),
),
),
child: ListTile(
leading: Icon(Icons.apps),
title: Text(result[index]['gru_descricao']),
onTap: () {
grupoAtual = result[index]['gru_id'];
Navigator.of(context)
.pushNamed("/subcategorias");
},
),
);
},
)
],
),
),
);
} else {
return SpinKitDualRing(
color: secondColor,
size: 50.0,
);
}
},
),
),
);
}
}
You’re making that mistake:
A Renderflex overflowed by 473 pixels on the bottom.
I’ve tried using the SingleChildScrollView
, but it worked only at the top, now at the ListView.builder
it didn’t work.
If anyone can help me, I’d appreciate it.
I can’t simulate because I don’t have the data, but try to put Listview.Builder() inside an expanded()
– Roberto Luiz Teixeira Rocha