如何避免 finddropdown flutter 溢出
How to avoid overflow in finddropdown flutter
大家好,我制作了一个带有 2 个下拉菜单的地图,它们可以工作,但我遇到了这个问题,我似乎无法解决。
当所选项目的名称太长时,我会溢出。
我不知道该怎么办,希望有人能帮助我:)
小部件:
Theme(
data: ThemeData.light().copyWith(
primaryColor: azulTuti,
accentColor: azulTuti,
colorScheme: ColorScheme.light(
primary: azulTuti),
buttonTheme: ButtonThemeData(
textTheme: ButtonTextTheme.primary),
),
child: FindDropdown(
searchBoxDecoration: InputDecoration(
hintText: "Seleccione un local"),
selectedItem: selected_local,
items: locales,
key: UniqueKey(),
onChanged: (local) {
if (local != "Seleccione un local") {
setState(() {
selected_local = local;
chooseLocal = true;
zoomMarker(selected_local);
});
}
},
)),
我得到的:
我们可以定义dropdownBuilder
。请在 FindDropdown
Widget.
内添加以下代码
dropdownBuilder: (context, selectedItem) {
return Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4),
color: Colors.white),
child: Row(
children: [
Expanded(
child: Text(
selectedItem.toString(),
style: TextStyle(color: Colors.black),
),
),
SizedBox(width: 8),
Icon(Icons.arrow_drop_down),
],
),
);
},
你可能想使用它,它会让你的文本保持在一行中并且可以滚动
Expanded(
child: Container(
child:SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Text(
"--",),
),
),
)
大家好,我制作了一个带有 2 个下拉菜单的地图,它们可以工作,但我遇到了这个问题,我似乎无法解决。
当所选项目的名称太长时,我会溢出。
我不知道该怎么办,希望有人能帮助我:)
小部件:
Theme(
data: ThemeData.light().copyWith(
primaryColor: azulTuti,
accentColor: azulTuti,
colorScheme: ColorScheme.light(
primary: azulTuti),
buttonTheme: ButtonThemeData(
textTheme: ButtonTextTheme.primary),
),
child: FindDropdown(
searchBoxDecoration: InputDecoration(
hintText: "Seleccione un local"),
selectedItem: selected_local,
items: locales,
key: UniqueKey(),
onChanged: (local) {
if (local != "Seleccione un local") {
setState(() {
selected_local = local;
chooseLocal = true;
zoomMarker(selected_local);
});
}
},
)),
我得到的:
我们可以定义dropdownBuilder
。请在 FindDropdown
Widget.
dropdownBuilder: (context, selectedItem) {
return Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4),
color: Colors.white),
child: Row(
children: [
Expanded(
child: Text(
selectedItem.toString(),
style: TextStyle(color: Colors.black),
),
),
SizedBox(width: 8),
Icon(Icons.arrow_drop_down),
],
),
);
},
你可能想使用它,它会让你的文本保持在一行中并且可以滚动
Expanded(
child: Container(
child:SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Text(
"--",),
),
),
)