Flutter 如何在 ListTile 上获取弹出菜单?

Flutter how to get a popup menu on a ListTile?

我正在尝试在 ListTile 下获取弹出菜单。 title 显示描述,subtitle 显示 selected 值和一些消息,onTap 打开弹出菜单,用户可以在其中 select 一个值.

我尝试在 subtitle 中放置一个 DropdownButtonHideUnderline,但是这会显示一个箭头并且不响应 ListTile onTab 显然。

如何在 ListTile 上获得弹出菜单?

也许你可以试试 PopupMenuButton,

PopupMenuButton<String>(
    onSelected: (String value) {
    setState(() {
        _selection = value;
    });
  },
  child: ListTile(
    leading: IconButton(
      icon: Icon(Icons.add_alarm),
      onPressed: () {
        print('Hello world');
      },
    ),
    title: Text('Title'),
    subtitle: Column(
      children: <Widget>[
        Text('Sub title'),
        Text(_selection == null ? 'Nothing selected yet' : _selection.toString()),
      ],
    ),
    trailing: Icon(Icons.account_circle),
  ),
  itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
        const PopupMenuItem<String>(
          value: 'Value1',
          child: Text('Choose value 1'),
        ),
        const PopupMenuItem<String>(
          value: 'Value2',
          child: Text('Choose value 2'),
        ),
        const PopupMenuItem<String>(
          value: 'Value3',
          child: Text('Choose value 3'),
        ),
      ],
)

看看