Listview 在颤振滚动模式下使用下拉按钮创建AlertDialog
我在颤振中有一个AlertDialog,它通过下拉按钮显示了一些不同的过滤和排序选项。然而,我希望它是滚动一旦有太多的元素显示。将Listview放入其中会导致下拉按钮出现灰色框(见图)。我怎样才能让它滚动 代码:Listview 在颤振滚动模式下使用下拉按钮创建AlertDialog,listview,flutter,flutter-alertdialog,Listview,Flutter,Flutter Alertdialog,我在颤振中有一个AlertDialog,它通过下拉按钮显示了一些不同的过滤和排序选项。然而,我希望它是滚动一旦有太多的元素显示。将Listview放入其中会导致下拉按钮出现灰色框(见图)。我怎样才能让它滚动 代码: showDialog( context: context, builder: (BuildContext context){ return Consumer<VillagerFilter>( builder: (contex
showDialog(
context: context,
builder: (BuildContext context){
return Consumer<VillagerFilter>(
builder: (context, filter, _child) {
return AlertDialog(
title: Text(localization.filterTitleFilterSearch),
content: Container(
height: 500,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
//FIlterbereich
Text("Filter:", textAlign: TextAlign.left,),
Row(
children: <Widget>[
Checkbox(value: filter.isFilterObtained(), onChanged: (newIsCaught){filter.setFilterObtained(newIsCaught);}
),
Text(localization.filterLivingHere)
],
),
Row(
children: <Widget>[
Checkbox(value: filter.isFilterFavourite(), onChanged: (newIsCaught){filter.setFilterFavourite(newIsCaught);}
),
Text(localization.filterFavourite)
],
),
//personalityfilter
ListTile(
title:
Text(localization.filterPersonality + " "),
subtitle: DropdownButton<String>(
value: filter.getFilterPersonality(),
onChanged: (String newValue){
filter.setFilterPersonality(newValue);
},
items: [
'-',
localization.filterPersonalityCranky,
localization.filterPersonalityJock,
]
.map<DropdownMenuItem<String>>((String value){
return DropdownMenuItem<String> (
value: value,
child: Text(value)
);
}).toList()
),
),
//Genderfilter
ListTile(
title:
Text(localization.gender + " "),
subtitle: DropdownButton<String>(
value: filter.getFilterGender(),
onChanged: (String newValue){
filter.setFilterGender(newValue);
},
items: [
'-',
localization.male,
localization.female,
]
.map<DropdownMenuItem<String>>((String value){
return DropdownMenuItem<String> (
value: value,
child: Text(value)
);
}).toList()
),
),
],
),
),
elevation: 24,
backgroundColor: nookDefaultBackgroundColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(25.0))
),
actions: <Widget>[
FlatButton(
child: Text('Okay'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
}
);
},
);
showDialog(
上下文:上下文,
生成器:(BuildContext上下文){
退货消费者(
生成器:(上下文、筛选器、子项){
返回警报对话框(
标题:文本(本地化.filterTitleFilterSearch),
内容:容器(
身高:500,
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
//滤饼
文本(“筛选器:,textAlign:textAlign.left,),
划船(
儿童:[
复选框(值:filter.isFilterObtained(),一旦更改:(newIsCaught){filter.setFilterObtained(newIsCaught);}
),
文本(本地化.filterLivingHere)
],
),
划船(
儿童:[
复选框(值:filter.isFilterFavourite(),一旦更改:(newIsCaught){filter.setFilterFavourite(newIsCaught);}
),
文本(本地化.filterFavourite)
],
),
//个性化过滤器
列表砖(
标题:
文本(本地化.filterPersonality+“”),
字幕:下拉按钮(
值:filter.getFilterPersonality(),
onChanged:(字符串newValue){
filter.setFilterPersonality(newValue);
},
项目:[
'-',
localization.filterPersonalityCranky,
本地化.filterPersonalityJock,
]
.map((字符串值){
返回下拉菜单项(
价值:价值,
子项:文本(值)
);
})托利斯先生()
),
),
//性别过滤器
列表砖(
标题:
文本(localization.gender+“”),
字幕:下拉按钮(
值:filter.getFilterGender(),
onChanged:(字符串newValue){
filter.setFilterGender(newValue);
},
项目:[
'-',
男,,
女,,
]
.map((字符串值){
返回下拉菜单项(
价值:价值,
子项:文本(值)
);
})托利斯先生()
),
),
],
),
),
标高:24,
backgroundColor:nookDefaultBackgroundColor,
形状:圆形矩形边框(
边界半径:边界半径。全部(半径。圆形(25.0))
),
行动:[
扁平按钮(
child:Text('ok'),
已按下:(){
Navigator.of(context.pop();
},
),
],
);
}
);
},
);
嘿,你可以使用SingleChildScrollView小部件
import 'package:flutter/cupertino.dart';
showDialog(
context: context,
builder: (BuildContext context){
return Consumer<VillagerFilter>(
builder: (context, filter, _child) {
return AlertDialog(
title: Text(localization.filterTitleFilterSearch),
content: Container(
height: 500,
child:SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
//FIlterbereich
Text("Filter:", textAlign: TextAlign.left,),
Row(
children: <Widget>[
Checkbox(value: filter.isFilterObtained(), onChanged: (newIsCaught){filter.setFilterObtained(newIsCaught);}
),
Text(localization.filterLivingHere)
],
),
Row(
children: <Widget>[
Checkbox(value: filter.isFilterFavourite(), onChanged: (newIsCaught){filter.setFilterFavourite(newIsCaught);}
),
Text(localization.filterFavourite)
],
),
//personalityfilter
ListTile(
title:
Text(localization.filterPersonality + " "),
subtitle: DropdownButton<String>(
value: filter.getFilterPersonality(),
onChanged: (String newValue){
filter.setFilterPersonality(newValue);
},
items: [
'-',
localization.filterPersonalityCranky,
localization.filterPersonalityJock,
]
.map<DropdownMenuItem<String>>((String value){
return DropdownMenuItem<String> (
value: value,
child: Text(value)
);
}).toList()
),
),
//Genderfilter
ListTile(
title:
Text(localization.gender + " "),
subtitle: DropdownButton<String>(
value: filter.getFilterGender(),
onChanged: (String newValue){
filter.setFilterGender(newValue);
},
items: [
'-',
localization.male,
localization.female,
]
.map<DropdownMenuItem<String>>((String value){
return DropdownMenuItem<String> (
value: value,
child: Text(value)
);
}).toList()
),
),
],
),
,
) ),
elevation: 24,
backgroundColor: nookDefaultBackgroundColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(25.0))
),
actions: <Widget>[
FlatButton(
child: Text('Okay'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
}
);
},
);
import'包装:flift/cupertino.dart';
显示对话框(
上下文:上下文,
生成器:(BuildContext上下文){
退货消费者(
生成器:(上下文、筛选器、子项){
返回警报对话框(
标题:文本(本地化.filterTitleFilterSearch),
内容:容器(
身高:500,
子:SingleChildScrollView(
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
//滤饼
文本(“筛选器:,textAlign:textAlign.left,),
划船(
儿童:[
复选框(值:filter.isFilterObtained(),一旦更改:(newIsCaught){filter.setFilterObtained(newIsCaught);}
),
文本(本地化.filterLivingHere)
],
),
划船(
儿童:[
复选框(值:filter.isFilterFavourite(),一旦更改:(newIsCaught){filter.setFilterFavourite(newIsCaught);}
),
文本(本地化.filterFavourite)
],
),
//个性化过滤器
列表砖(
标题:
文本(本地化.filterPersonality+“”),
字幕:下拉按钮(