如何解决如何在Flutter中更改DropdownButton的高度
如何在Flutter中更改DropdownButton的高度。 我曾尝试使用Padding和SizedBox,但没有一个真正起作用。
SizedBox只是增加了容器的大小,而DropdownButton则被夹在左上方,因此不再居中。 填充将被忽略或将内容移到按钮之外。
我不想更改下拉重叠式广告的大小,而是按钮本身。
build(BuildContext context) {
return ThemeData(
data: ThemeData(canvasColor: Colors.white),child: DropdownButton(
items: _items.map((item) => DropdownMenuItem(child: Text(item),value: item)).toList(),isExpanded: true,selectedItemBuilder: (_) {
return _items.map<Widget>((String lang) {
return Center(
widthFactor: 1,child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12),child: Text(lang,style: TextStyle(color: Colors.black))
),);
}).toList();
}
)
)
}
解决方法
将其包装在Container
中,根据需要指定高度和宽度,并在isExpanded
中将DropDownButton
设置为true。还可以根据需要更改下拉按钮的文本字体大小。
Container(
height: 50.0,width: 200.0,child: DropdownButton(
value: dropdownValue,icon: Icon(Icons.arrow_downward),iconSize: 24,elevation: 16,isExpanded: true,style: TextStyle(color: Colors.deepPurple,fontSize: 20.0),underline: Container(
height: 2,color: Colors.deepPurpleAccent,),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类的'itemHeight'属性应该可以解决问题。我尝试过,它增加了我的DropdownButton的高度。
这是我以前的项目中使用itemHeight获得的一些示例代码:
DropdownButton<String>(
itemHeight: 100.0,value: selectedCurrency,items: dropdownItems,onChanged: (value) {
setState(() {
selectedCurrency = value;
getData();
});
},);
注意:请确保您提供的值不小于48.0,因为它会产生错误。
文档: itemHeight属性:https://api.flutter.dev/flutter/material/DropdownButton/itemHeight.html
由“ kMinInteractiveDimension”定义的最小itemHeight: https://api.flutter.dev/flutter/material/kMinInteractiveDimension-constant.html
,使用 SizedBox 小部件
SizedBox(
height: 30,child:DropdownButton<String>(
value: selectedCurrency,onChanged: (value) {},))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。