Flutter DropdownButton简单使用及魔改源码

本文介绍了Flutter中的DropdownButton组件,包括其简单使用方法和构造函数的参数解析。通过修改源码,展示了如何实现点击弹出列表在下方的效果,强调了Flutter源码的可定制性,并预告了接下来的源码分析系列文章。
摘要由CSDN通过智能技术生成

我们一般在写业务的时候多会用到下拉菜单,

前面讲过 ExpansionPanel, ExpansionPanel大部分情况用来实现展开列表等稍微复杂的业务逻辑。

而 DropdownButton 则是用来实现稍微简单一点的 点击选择 业务场景。

简单上手

按照惯例我们查看一下官方文档上的说明:

A material design button for selecting from a list of items.

用于从 item 列表中进行选择的 material 按钮。

说明的下方就是一大段的 demo,我们先来看一下效果:

640?wx_fmt=gif

没错,不要怀疑,One, Two, Free, Four,这就是官方 demo 上写的。

代码如下:

 
 
String dropdownValue = 'One';	
	
// ...	
	
Widget build(BuildContext context) {	
  return Scaffold(	
    body: Center(	
      child: DropdownButton<String>(	
        value: dropdownValue,	
        onChanged: (String newValue) {	
          setState(() {	
            dropdownValue = newValue;	
          });	
        },	
        items: <String>['One', 'Two', 'Free', 'Four']	
          .map<DropdownMenuItem<String>>((String value) {	
            return DropdownMenuItem<String>(	
              value: value,	
              child: Text(value),	
            );	
          })	
          .toList(),	
      ),	
    ),	
  );	
}

这样就简单的实现了上图的效果,现在先来看一下他的构造函数。

构造函数

构造函数代码如下:

 
 
DropdownButton({	
  Key key,	
  @required this.items,	
  this.value,	
  this.hint,	
  this.disabledHint,	
  @required this.onChang
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值