【发布时间】:2021-03-02 18:34:54
【问题描述】:
我有一个包含文本小部件的活动,在它下面有一个 listView.builder 小部件。但是scrollView不适用于listView,当我尝试滚动并按下屏幕两侧时,它可以工作,但是如果我按下listview(或某个项目)并尝试滚动,它就不起作用!如果你看到下面的代码,我做了很大的填充(25),所以当我按下侧面时我可以滚动。我尝试了很多解决方案。
class _RnvState extends State<Rnv> {
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return MaterialApp(
home: Scaffold(
body: SingleChildScrollView(
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/index.jpg"),
fit: BoxFit.cover,
),
),
child: Padding(
padding: EdgeInsets.all(25),
child: Column(
children: <Widget>[
Text(
'Your meetings:',
style: TextStyle(
fontSize: 24,
wordSpacing: 2,
fontWeight: FontWeight.bold,
),
),
Rdv(),
],
),
),
),
),
),
);
}
}
Rdv 小部件:
class Rdv extends StatefulWidget {
@override
_RdvState createState() => _RdvState();
}
class _RdvState extends State<Rdv> {
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return ListView.builder(
shrinkWrap: true,
itemBuilder: (context, index) {
return InkWell(
onTap: () {},
child: Container(
width: size.width - (size.width * 0.2),
child: Card(
color: Colors.blueGrey[600].withOpacity(0.7),
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Flexible(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'${myList[index]['name']}',
overflow: TextOverflow.visible,
maxLines: 2,
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
letterSpacing: 2,
color: Colors.white,
),
),
SizedBox(
height: size.height - (size.height * 0.99),
),
Text(
'${myList[index]['specialite']}',
style: TextStyle(
fontSize: 20,
color: Colors.white,
),
),
SizedBox(
height: size.height - (size.height * 0.99),
),
Text(
'${myList[index]['ville']}',
style: TextStyle(
fontSize: 20,
color: Colors.amber[200],
fontWeight: FontWeight.bold),
),
],
),
),
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'${myList[index]['date']}',
style: TextStyle(
fontSize: 22,
color: Colors.white,
),
),
Text(
'${myList[index]['heur']}',
style: TextStyle(
fontSize: 22,
color: Colors.white,
),
),
],
),
],
),
),
),
),
);
},
itemCount: myList.length,
);
}
}
【问题讨论】:
标签: flutter