Flutter DropdownButton

本文详细介绍了Flutter中的DropdownButton组件,包括其用法、属性配置和自定义样式,帮助开发者实现高效的下拉菜单功能。

在这里插入图片描述

// DropdownButton
class DropdownButtonDemoPage extends StatefulWidget {
  @override
  _DropdownButtonDemoPageState createState() => _DropdownButtonDemoPageState();
}

class _DropdownButtonDemoPageState extends State<DropdownButtonDemoPage> {

  var selectItemValue = '北京';

  List<DropdownMenuItem> generateItemList() {
    final List<DropdownMenuItem> items = List();
    final DropdownMenuItem item1 = DropdownMenuItem(
      child: Text('北京'), value: '北京',);
    final DropdownMenuItem item2 = DropdownMenuItem(
      child: Text('上海'), value: '上海',);
    final DropdownMenuItem item3 = DropdownMenuItem(
      child: Text('广州'), value: '广州',);
    final DropdownMenuItem item4 = DropdownMenuItem(
      child: Text('深圳'), value: '深圳',);
    items.add(item1);
    items.add(item2);
    items.add(item3);
    items.add(item4);
    return items;
  }

  @override
  Widget build(BuildContext context) {
    return DropdownButton(
      // 提示文本
      hint: Text('请选择一个城市'),
      // 下拉列表的数据
      items: generateItemList(),
      // 改变事件
      onChanged: (value) {
        setState(() {
          selectItemValue = value;
        });
      },
      // 是否撑满
      isExpanded: true,
      value: selectItemValue,
      // 图标大小
      iconSize: 48,
      // 下拉文本样式
      style: TextStyle(color: Colors.green),
    );
  }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值