Flutter下拉选项框DropdownButton,支持AppBar上面添加


 

DropdownButton({
    Key key,
    @required this.items,       // 下拉选项列表
    this.selectedItemBuilder,   // 选项 item 构造器
    this.value,                 // 选中内容
    this.hint,                  // 启动状态下默认内容
    this.disabledHint,          // 禁用状态下默认内容
    @required this.onChanged,   // 选择 item 回调
    this.elevation = 8,         // 阴影高度
    this.style,                 // 选项列表 item 样式
    this.underline,             // 按钮下划线
    this.icon,                  // 下拉按钮图标
    this.iconDisabledColor,     // 禁用状态下图标颜色
    this.iconEnabledColor,      // 启动时图标颜色
    this.iconSize = 24.0,       // 图标尺寸
    this.isDense = false,       // 是否降低按钮高度
    this.isExpanded = false,    // 是否将下拉列表内容设置水平填充
})
const DropdownMenuItem({
    Key key,
    this.value,             // 对应选中状态内容
    @required this.child,   // 下拉列表 item 内容
})
看完属性后,直接上代码,新建一个dart页面
var selectValue;
@override
void initState() {
  super.initState();
   selectValue =getListData()[0].value;
}
List<DropdownMenuItem> getListData(){
  List<DropdownMenuItem> items=new List();
  DropdownMenuItem dropdownMenuItem1=new DropdownMenuItem(
    child:new Text('A0001'),
    value: 'A0001',
  );
  items.add(dropdownMenuItem1);
  DropdownMenuItem dropdownMenuItem2=new DropdownMenuItem(
    child:new Text('A0002'),
    value: 'A0002',
  );
  items.add(dropdownMenuItem2);
  DropdownMenuItem dropdownMenuItem3=new DropdownMenuItem(
    child:new Text('A0003'),
    value: 'A0003',
  );
  items.add(dropdownMenuItem3);
  DropdownMenuItem dropdownMenuItem4=new DropdownMenuItem(
    child:new Text('A0004'),
    value: 'A0004',
  );
  items.add(dropdownMenuItem4);
  return items;
}
@override
Widget build(BuildContext context) {
  return Scaffold(
      backgroundColor: colorF6F6F6,
      appBar: AppBar(
        centerTitle: true,
        elevation: 0,
        backgroundColor: Colors.white,
        title: Center(
          child: DropdownButton(
            items:getListData(),
            onChanged: (value) {
              setState(() {
                selectValue = value;
              });
            },
            value: selectValue,
            underline:Container(//把底部那条线去掉,用白色填充
              height: 1.0,
              decoration: const BoxDecoration(
                border: Border(
                  bottom: BorderSide(
                    color: Colors.white,
                    width: 0.0,
                  ),
                ),
              ),
            ) ,
          ),
        ),
      ),
      body:Container(),
  );
}
阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=7033,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?