有没有办法更改 DropdownSearch 小部件的输入颜色?默认颜色是黑色,但我想将其更改为灰色。我努力了 labelStyle: TextStyle(color: Colors.white) 但它不起作用。
这是我的 DropdownSearch 小部件
Container(
child: DropdownSearch<String>(
mode: Mode.BOTTOM_SHEET,
showSearchBox: true,
dropdownSearchDecoration: new InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
prefixIcon: const Icon(
Icons.corporate_fare,
color: Colors.white,
),
),
showAsSuffixIcons: true,
showClearButton: false,
dropdownButtonBuilder: (_) => Padding(
padding: const EdgeInsets.all(8.0),
child: const Icon(
Icons.arrow_drop_down,
size: 24,
color: Colors.grey,
),
),
showSelectedItem: true,
items: _industry,
onChanged: (String newValue) {
setState(() {
dropDownValue = newValue;
});
},
selectedItem: dropDownValue,
),
),
有2个选择: 首先,你可以用主题小部件包装它:
Theme(
data: ThemeData(
textTheme: TextTheme(subtitle1: TextStyle(color: Colors.green)),
),
child: DropdownSearch<String>(
mode: Mode.BOTTOM_SHEET,
showSearchBox: true,
dropdownSearchDecoration: new InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.red),
),
...
或者您可以从库中更改它。转到 selectDialog.dart。第349行是搜索框。为文本字段添加颜色:
...
TextField(
style: TextStyle(color: Colors.red),
controller: widget.searchBoxController,
focusNode: focusNode,
onChanged: (f) => _debouncer(() {
_onTextChanged(f);
}),
...
您必须停止并重新启动应用程序才能使其正常工作。
我发现 dropdown_search 5.0.6 使用 s_erfani 的 themeData 方法不会更改搜索框字段的文本颜色。我让它工作,而不是使用 dropdownDecoratorProps 的 baseStyle 属性:
DropdownSearch<MedicineModel>(
onChanged: (MedicineModel? newValue) {
setState(() {
medicine = newValue;
});
},
asyncItems: (String? filter) => getData(filter),
popupProps: PopupPropsMultiSelection.modalBottomSheet(
showSelectedItems: true,
itemBuilder: _customPopupItemBuilderExample2,
showSearchBox: true,
),
compareFn: (item, sItem) => item.id == sItem.id,
dropdownDecoratorProps: DropDownDecoratorProps(
baseStyle: TextStyle(color:Colors.white),
)
)