微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

整个图标按钮变成灰色:flutter

如何解决整个图标按钮变成灰色:flutter

我正在尝试在底部导航栏中的 play_icon 上应用颜色。问题是整个图标变成灰色。我想要实现的是:

enter image description here

我目前拥有的是:

enter image description here

这是代码

Material(
                    color:
                        light_mode ? Color(0xFFFFFFFF) : Color(0xFF616161),child: Container(
                        alignment: Alignment.center,height: 60,width: MediaQuery.of(context).size.width,child: Row(
                          mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
                            Padding(
                                padding: EdgeInsets.all(1.0),child: IconButton(
                                    icon: Icon(Icons.skip_prevIoUs),onpressed: () {},color: Colors.grey)),Padding(
                                padding: EdgeInsets.only(right: 10),child: IconButton(
                                    icon: Icon(
                                        Icons.play_circle_fill_outlined,size: 45),color: light_mode
                                        ? Color(0xFFEA80FC)
                                        : Color(0xFF6D6D6D))),Padding(
                                padding: EdgeInsets.all(1.0),child: IconButton(
                                    icon: Icon(Icons.skip_next),child: IconButton(
                                    icon: Icon(
                                        Icons.bookmark_border_outlined),child: IconButton(
                                    icon: Icon(Icons.share_rounded),],)))

解决方法

在您的代码中:

if (index($0,a[i]))

您应该为 IconButton 的父级设置颜色,而不是它本身。例如,您可以使用带有装饰的容器(通过改变 borderRadius 可以实现圆形按钮):

Padding(
                                padding: EdgeInsets.only(right: 10),child: IconButton(
                                    icon: Icon(
                                        Icons.play_circle_fill_outlined,size: 45),onPressed: () {},color: light_mode
                                        ? Color(0xFFEA80FC)
                                        : Color(0xFF6D6D6D))),
,

这个怎么样。

从这个你的代码,

Padding(
  padding: EdgeInsets.only(right: 10),child: IconButton(
    icon: Icon(Icons.play_circle_fill_outlined,color: light_mode ? Color(0xFFEA80FC) : Color(0xFF6D6D6D),),

到这个。

SizedBox(
  width: 36,height: 36,child: FloatingActionButton(
    onPressed: () {},backgroundColor:
        light_mode ? Color(0xFFEA80FC) : Color(0xFF6D6D6D),child: Icon(Icons.play_arrow),

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。