我正在尝试构建一个应用程序,您可以在其中打开抽屉并仅滚动DrawerHeader()下的内容。当我将DrawerHeader作为ListView的子级时,它自然会与整个列表一起滚动。我试过了
Drawer(child:Column(children: <Widget>[DrawerHeader(), ListView()]))
但似乎会使应用程序崩溃。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
drawer: Drawer(
child: ListView(
children: <Widget>[
DrawerHeader(
child: Text('Projects related tools'),
decoration: BoxDecoration(color: Colors.blue),
),
ExpansionTile(
title: Text('Project 1'),
children: <Widget>[
Text('Property 1'),
Text('Property 2'),
],
),
],
),
),
body: SafeArea(child: ListView()),
));
}
}
答案 0 :(得分:1)
将您的ListView展开后:
Drawer(
child: Column(
children: <Widget>[
DrawerHeader(
...
),
Expanded(
child: ListView(
...
),
),
],
),
),