Стайлинг Flutter `DropdownButton` и его дочерние элементы` DropdownMenuItem` по-разному - PullRequest
0 голосов
/ 04 апреля 2020

Я делаю приложение для конвертации единиц, чтобы узнать больше возможностей. У меня есть красно-белая тема, но я изо всех сил стараюсь убедиться, что стиль DropdownButton отличается от стиля DropdownMenuItem потомков. Я включил изображения ниже, чтобы вы могли видеть.

enter image description here

enter image description here

В основном, если я выделю текст красным цветом, чтобы хорошо контрастировать с белым фоном меню, текст в кнопке исчезнет на заднем плане. Однако, если я выделю текст кнопки белым цветом, его нельзя будет увидеть в раскрывающемся меню.

У меня есть следующий код:

            child: DropdownButtonHideUnderline(
              child: DropdownButton<String>(
                iconSize: 0.0,
                style: kButtonTextStyle,
                elevation: 4,
                value: textA
                    ? defaultTextA ?? dropDownItems.first.name
                    : defaultTextB ?? dropDownItems.first.name,
                items: dropDownItems.map(
                  (Unit unit) {
                    return DropdownMenuItem<String>(
                      value: unit.name,
                      child: Center(
                        child: SizedBox(
                          width: 200.0,
                          child: Text(
                            unit.name,
                            textAlign: TextAlign.center,
                            style: TextStyle(
                              inherit: false,
                              color: Color(0xFFFC4445),
                              fontSize: 20.0,
                            ),
                          ),
                        ),
                      ),
                    );
                  },
                ).toList(),
                onChanged: (String _value) {
                  __responseToChangeDrop(_value, textA);
                },
              ),
            ),

Есть ли способ убедиться, что я Можно ли стилизовать элементы выпадающего меню иначе, чем выбранное значение в кнопке? В прошлом я сталкивался с рядом различных предложений, от использования findAncestorStateOfType до использования inherit: false, как я это делал здесь, и, к сожалению, ни одно из них не сработало. Спасибо!

...