#flutter #web #dart
#flutter #веб #dart
Вопрос:
В настоящее время я работаю с Flutter web и пытаюсь добиться следующего:
Я не могу задать заголовок для выпадающего меню, только добавить заголовок в качестве элемента в списке.
Я попробовал то, что предложил Firas Krifa, и получил следующий результат:
Результат в небольшом размере веб-страницы
Обычный размер веб-страницы (FULL HD)
Я не знаю, почему при небольшом размере выпадающее меню отображается слева от выпадающей кнопки, а размер 4k отображается справа. Также при обычном размере он отображается в заголовке, в то время как я хочу, чтобы он отображался прямо под заголовком.
Комментарии:
1. Добавьте немного кода..
Ответ №1:
Попробуйте это
new DropdownButton<String>(
items: <String>['A', 'B', 'C', 'D'].map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList(),
onChanged: (_) {},
)
Ответ №2:
Виджеты DropdownButtonHideUnderline
и Theme
помогут контролировать, как выглядит выпадающий список в заголовке AppBar
https://material.io/guidelines/layout/structure.html#structure-app-bar
new AppBar(
title: new Theme(
child: new DropdownButtonHideUnderline(
child: new DropdownButton<String>(
value: _value,
items: <DropdownMenuItem<String>>[
new DropdownMenuItem(
child: new Text('My Page'),
value: 'one',
),
],
onChanged: (String value) {
setState(() => _value = value);
},
),
),
data: new ThemeData.dark(),
),
),
Комментарии:
1. Спасибо за ответ, но, к сожалению, он сохраняет только заголовок, но выпадающее меню не отображается там, где оно должно отображаться.
2. Есть два необязательных параметра, которые вы, скорее всего, будете использовать. Первым является значение, в котором хранится текущее значение. Если значение соответствует значению выпадающего меню, элемент опции будет отображаться как выбранный элемент. Его также можно использовать для установки начального значения. Другой вариант — это подсказка, представляющая собой виджет, который будет отображаться, если значение не выбрано.