在 DropdownSearch 上更改输入文本颜色

Change input text color on DropdownSearch

有没有办法更改 DropdownSearch 小部件的输入颜色?默认颜色是黑色,但我想将其更改为灰色。我试过了 labelStyle: TextStyle(color: Colors.white) 但它不起作用。

这是我的下拉搜索小工具

                    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 widget 包装它:

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);
                }),
...

您必须停止并重新启动应用程序才能使其正常工作。