【问题标题】:Icons doesn't show under DropdownMenuItemDropdownMenuItem 下不显示图标
【发布时间】:2021-06-24 08:34:15
【问题描述】:

这是一个简单的DropdownMenuItem,我想在注销文本旁边显示退出图标,我可以获取文本但无法显示图标。 Icon(Icons.exit_to_app)

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Chap App'),
        actions: [
          //for logout
          DropdownButton(
            icon: Icon(Icons.more_vert,
                color: Theme.of(context).primaryIconTheme.color),
            items: [
              DropdownMenuItem(
                child: Container(
                  child: Row(
                    //mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                    children: [
                      Icon(Icons.exit_to_app),
                      SizedBox(
                        width: 8,
                      ),
                      Text('Logout')
                    ],
                  ),
                ),
                value: 'logout',
              ),
            ],
            onChanged: (itemIdentifier) {
              //to check which value was pressed by looking  at the itemIdentifier
              if (itemIdentifier == 'logout') {
                //logout
                FirebaseAuth.instance.signOut();
              }
            },
          )
        ],
      ),

主题数据

Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Chat App',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        backgroundColor: Colors.blue,
        accentColor: Colors.deepPurple,
        accentColorBrightness: Brightness.dark,
        buttonTheme: ButtonTheme.of(context).copyWith(
          buttonColor: Colors.blue,
          textTheme: ButtonTextTheme.primary,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(20),
          ),
        ), //create a default buton theme
      ),

【问题讨论】:

    标签: flutter dart visual-studio-code


    【解决方案1】:

    我尝试在 dartpad 中输入相同的代码并检查代码是否有效。而且,它工作正常

    DropdownButton(
      icon: Icon(Icons.more_vert,
                 color: Theme.of(context).primaryIconTheme.color),
      items: [
        DropdownMenuItem(
          child: Container(
            child: Row(
              //mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: [
                Icon(Icons.exit_to_app, color: Colors.black), // choose appropriate color
                SizedBox(
                  width: 8,
                ),
                Text('Logout')
              ],
            ),
          ),
          value: 'logout',
        ),
      ],
      onChanged: (itemIdentifier) {
      },
    ),
    

    也许你可以检查你的主题数据。

    另外,尝试执行flutter clean 并再次运行。它大部分时间都有效。

    【讨论】:

    • 奇怪!我在 dartpad 上的主题数据没有问题,但我的项目中没有显示。!
    • 您是否尝试使用flutter clean 然后重新构建?
    • 是的!当然。你能在visual studio code ide上试试吗?
    • 仔细查看图片后。我发现正在显示徽标并且颜色不是黑色。尝试将图标的颜色更改为黑色。可能颜色可能是问题。我还编辑了答案以在图标中包含颜色属性
    • 是的!我现在明白了,我接受你的回答。仔细观察图标,我发现它是白色的,不知为何!
    猜你喜欢
    • 2019-11-07
    • 2017-10-20
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 2021-05-19
    • 2016-09-12
    • 2021-08-14
    • 2019-11-24
    相关资源
    最近更新 更多