I am trying to make ListView for my app. when I add listview, listview is not visible or showing.
INFO
Flutter version: 3.3.8 Engine revision 857bd6b74c Dart version 2.18.4 DevTools version 2.15.0
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[100],
body: Container(
padding: const EdgeInsets.only(left: 20, top: 50),
child: Column(
children: <Widget>[
Container(
padding: const EdgeInsets.all(0),
child: Column(
children: [
Expanded(
child: ListView(
shrinkWrap: true,
children: <Widget>[
Expanded(
child: Column(
children: [
Container(
decoration: BoxDecoration(
image: const DecorationImage(
image: NetworkImage("..."),
),
borderRadius: BorderRadius.circular(20.0)
),
),
const Text("Pineapple")
],
),
)
],
),
)
],
),
)
],
)
)
);
}
CodePudding user response:
Add property "primary: false"
Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.grey[100], body: Container( padding: const EdgeInsets.only(left: 20, top: 50), child: Column( children: [ Container( padding: const EdgeInsets.all(0), child: Column( children: [ Expanded( child: ListView( shrinkWrap: true, primary:false, children: [ Expanded( child: Column( children: [ Container( decoration: BoxDecoration( image: const DecorationImage( image: NetworkImage("..."), ), borderRadius: BorderRadius.circular(20.0) ), ), const Text("Pineapple") ], ), ) ], ), ) ], ), ) ], ) ) ); }
CodePudding user response:
Just Remove Expand() Widget
return Scaffold( backgroundColor: Colors.grey[100], body: Container( padding: const EdgeInsets.only(left: 20, top: 50), child: Column( children: [ Container( padding: const EdgeInsets.all(0), child: Column( children: [ ListView( shrinkWrap: true, primary: false, children: [ Column( children: [ Container( decoration: BoxDecoration( image: const DecorationImage( image: NetworkImage("..."), ), borderRadius: BorderRadius.circular(20.0)), ), const Text("Pineapple") ], ) ], ) ], ), ) ], )));
CodePudding user response:
Remove Expanded
Widgets
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[100],
body: Container(
padding: const EdgeInsets.only(left: 20, top: 50),
child: Column(
children: [
Container(
padding: const EdgeInsets.all(0),
child: Column(
children: [
ListView(
shrinkWrap: true,
primary:false,
children: [
Column(
children: [
Container(
decoration: BoxDecoration(
image: const DecorationImage( image: NetworkImage("..."), ),
borderRadius: BorderRadius.circular(20.0)
),
),
const Text("Pineapple")
],
)
],
)
],
),
)
],
)
)
);
}
CodePudding user response:
Please remove unnecessary widgets like Expanded()
, Column()
, etc. You don't need to use those widgets cause you use ListView()
, ListView()
itself takes multiple children. So you won't need to use Column()
or Expanded()
inside of ListView()
. Here is the full solution
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.grey[100],
body: Container(
padding: const EdgeInsets.only(left: 20, top: 50),
child: Column(
children: <Widget>[
Container(
padding: const EdgeInsets.all(0),
child: Column(
children: [
ListView(
shrinkWrap: true,
children: <Widget>[
Container(
height: 200,
decoration: BoxDecoration(
image: const DecorationImage(
image: NetworkImage(
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/640px-Image_created_with_a_mobile_phone.png"),
),
borderRadius: BorderRadius.circular(20.0)),
),
const Text("Pineapple")
],
)
],
),
)
],
),
),
),
);
}