【问题标题】:Flutter Remove bottom underline from DropDropdownButtonFlutter 从 DropDropdownButton 中删除底部下划线
【发布时间】:2019-08-09 18:32:40
【问题描述】:

我的应用栏中有一个下拉菜单。但是,它似乎默认带有下划线。颤振文档说默认为 0.0,这不可能,我可以看到下划线。如何删除此下划线。

return Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.all(Radius.circular(30)),
  ),
  margin: EdgeInsets.all(10.0),
  padding: EdgeInsets.all(5.0),
  width: MediaQuery.of(context).size.width * 0.30,
  child: Center(
    child: DropdownButton(
      items: _dropdownValues.map((value) => DropdownMenuItem(child: Text(value), value: value)).toList(),
        onChanged: (String value) {
          setState(() {
            _currentlySelected = value;
          });
        },
      isExpanded: false,
      value: _currentlySelected,
    )
  )
); 

设计:

【问题讨论】:

    标签: flutter


    【解决方案1】:

    我设法找到了答案。 Flutter 有 DropdownButtonHideUnderline,非常有帮助。我只是将DropdownButton 包裹在DropdownButtonHideUnderline 中。

    代码:

    return Container(
        decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.all(Radius.circular(30)),
        ),
        margin: EdgeInsets.all(10.0),
        padding: EdgeInsets.all(5.0),
        width: MediaQuery.of(context).size.width * 0.30,
        child: Center(
            child: DropdownButtonHideUnderline(
                child: DropdownButton(
                    items: _dropdownValues.map((value) => DropdownMenuItem(child: Text(value), value: value)).toList(),
                    onChanged: (String value) {
                    setState(() {
                        _currentlySelected = value;
                    });
                    },
                    isExpanded: false,
                    value: _currentlySelected,
                )
            )
        )
    );
    

    【讨论】:

    • 下划线:容器颜色在我的情况下不起作用如何在 futter 中更改下拉按钮的下划线颜色
    • @s.j 您将不得不提及容器的高度或宽度,它会起作用。 underline: Container(color:Colors.red, height: 2.0)
    【解决方案2】:

    另一种选择是使用DropdownButton 的下划线构造函数并将颜色设置为透明。

    underline: Container(color: Colors.transparent),
    

    在你的情况下:

    child: DropdownButton(
        items: _dropdownValues.map((value) => DropdownMenuItem(child: Text(value), value: value)).toList(),
        onChanged: (String value) {
        setState(() {
            _currentlySelected = value;
        });
        },
        isExpanded: false,
        underline: Container(color: Colors.transparent),
        value: _currentlySelected,
    )
    

    【讨论】:

    • 更简单:下划线:Container(),
    【解决方案3】:

    另一种选择是:

     underline: SizedBox(),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2019-11-25
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 2015-11-10
      相关资源
      最近更新 更多