Вопрос: title
Итак, у меня есть кнопка Dropdown
А вот DropdownMenuItem
Как видите, первый элемент имеет серый цвет на заднем плане. Так как это убрать?
Чтобы быть более понятным, вот чего я хочу достичь
Фрагмент Navbar :
class Navbar extends StatefulWidget {
@override
_NavbarState createState() => _NavbarState();
}
class _NavbarState extends State<Navbar> {
action() {
print('test');
}
@override
Widget build(BuildContext context) {
return Container(
height: 100,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
NavbarLogo(),
Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
NavbarItem(
title: 'welcome',
navigationPath: RouterDashboardView.welcomeView,
),
SizedBox(width: 50.0),
NavbarItemDropdown(
items: ['labelExitLabel', 'labelExitLabel', 'actionExitAction'],
functions: [action],
),
],
),
],
),
);
}
}
Ничего особенного, только содержит lo go, текст и выпадающий список
Фрагмент NavbarDropdown:
class NavbarItemDropdown extends StatefulWidget {
final List<String> items;
final List<Function> functions;
const NavbarItemDropdown({
Key key,
@required this.items,
this.functions,
}) : super(key: key);
@override
_NavbarItemDropdownState createState() => _NavbarItemDropdownState();
}
class _NavbarItemDropdownState extends State<NavbarItemDropdown> {
@override
Widget build(BuildContext context) {
return DropdownButtonHideUnderline(
child: DropdownButton(
items: widget.items.map((String _value) {
return DropdownMenuItem<String>(
value: _value,
child: _value.contains('label')
? Text(
'${_value.split('label')[1]}',
style: TextStyle(fontSize: 13.0),
)
: Text('${_value.split('action')[1]}'),
);
}).toList(),
onChanged: (String _value) {
if (_value.contains('action')) widget.functions[0]();
},
hint: Text('TestDropDown'),
),
);
}
}