我们在本章回中介绍的DropdownButton组件和上一章回中介绍的DropdownMenu组件类似,主要用来实现下拉菜单,不过该组件在外观上像一个带图标的按钮,
点击按钮后会弹出下拉菜单,下面是该组件的外观效果图。本章回中将详细介绍该组件的使用方法。033
下拉菜单通过DropdownButton组件和DropdownMenuItem组件一起配合实现,DropdownButton组件主要控制菜单的图标和响应点击事件,DropdownMenuItem
组件主要控制菜单中显示的内容。接下来我们分别介绍这两种组件的用法。
该组件提供了相关的属性来控制下拉菜单的图标和功能,下面是常用的属性:
该组件提供了相关的属性来控制菜单项的相关内容与风格,下面是常用的属性:
List<DropdownMenuItem<String>> itemList = [
///value和onChanged中的value一致,child是菜单项中显示的内容
const DropdownMenuItem(value: "one",child:Text("niceDay"), ),
const DropdownMenuItem(value: "two",child: Text("today"),),
const DropdownMenuItem(value: "three",child: Text("yesterday"),),
];
String itemSelectedValue = "two";
DropdownButton(
///这个显示的是被选择菜单项的值,它的类型与DropdownMenuItem中的泛型一致
value: itemSelectedValue,
///下拉菜单的背景颜色
dropdownColor: Colors.yellow,
///下拉菜单中文字的颜色
style: const TextStyle(color: Colors.blue),
iconSize: 32,
icon: const Icon(Icons.schedule),
items: itemList,
onChanged: (value){
debugPrint("it is : $value");
setState(() {
itemSelectedValue = value.toString();
});
},
),
上面的示例代码演示了DropdownButton和DropdownMenuItem组件的用法,我们创建了一个包含三个菜单项的下拉菜单按钮,点击按钮上的图标就会弹出菜单项供我
们选择,选择某个菜单项目后菜单消失,同时把被选择的菜单项显示在按钮上面。下面是该程序的运行效果图。034
最后,我们对本章回的内容做一个全面的总结:
我们通过四种不同的组件实现了下拉菜单功能,我感觉使用DropdownMenu组件的场景更加多一些,因为它的外观是一个输入框,在输入框中显示被选择菜单的内容,而
使用DropdownButton的场景比较少,它的外观是一个带图标的按钮,菜单中被选择的内容显示在按钮上,和普通的按钮十分相似,但是不能修改按钮的外观。大家可以
结合自己项目的需求选择不同的组件来实现下拉菜单功能。
看官们,与"DropdownButton组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!