как иметь виджет внутри текста? - PullRequest
1 голос
/ 25 апреля 2019

Я создаю виджет и хочу иметь выпадающее меню между строкой текста во флаттере.Как мне реализовать что-то наподобие того, что изображено на Флаттере?

closed drop down

opened drop down

1 Ответ

0 голосов
/ 26 апреля 2019

Я думаю, это то, что вам нужно.Вы можете создать собственный виджет, чтобы вам не приходилось всегда писать код.

class _MyHomePageState extends State<MyHomePage> {

  String selectedItem = 'withdraw';
  Widget build(BuildContext context) {
    return new Scaffold(
      body: Center(
          child: Wrap(
            alignment: WrapAlignment.center,
            crossAxisAlignment: WrapCrossAlignment.center,
            children: <Widget>[
              Text('Enemy troops chose to '),
              DropdownButton<String>(
                value: selectedItem,
                items: [
                  DropdownMenuItem<String>(
                    value: 'withdraw',
                    child: Text('withdraw'),
                  ),
                  DropdownMenuItem<String>(
                    value: 'adverse',
                    child: Text('adverse'),
                  ),
                  DropdownMenuItem<String>(
                    value: 'celebrate',
                    child: Text('celebrate'),
                  ),
                ],
                onChanged: (item) {
                  selectedItem = item;
                  setState(() {});
                },
              ),
              Text(' to their camps, planning a new attack strategy.'),
            ],
          ),
        ),
    );
  }
}
...