当前位置: 首页 > 知识库问答 >
问题:

在flutter中使用图标按钮的单选按钮样式

裴焱
2023-03-14

我想创建一个单选按钮风格的投票系统使用的图标在Flutter(Dart),看起来像这样:投票图标

这个概念很简单:页面将显示一部电影,然后用户可以使用上面的图标按钮对该电影进行投票。当进行投票时,图标将变为红色,影片将添加到数组中。

我正在纠结的棘手部分是:

  1. 更改选定后图标的颜色
  2. 确保其他图标保持黑色
  3. 如果用户选择了其他选项,则将其他图标更改为黑色

提前道谢!

共有1个答案

锺星洲
2023-03-14
class Example extends StatefulWidget {
  @override
  _ExampleState createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  int _selected = null;

  @override
  Widget build(BuildContext context) {
    return Row(
      children: [
        _icon(0, text: "No way", icon: Icons.face),
        _icon(1, text: "Maybe", icon: Icons.local_movies),
        _icon(2, text: "Looks good", icon: Icons.local_pizza),
        _icon(3, text: "Can't wait", icon: Icons.local_fire_department),
      ],
    );
  }

  Widget _icon(int index, {String text, IconData icon}) {
    return Padding(
      padding: const EdgeInsets.all(16.0),
      child: InkResponse(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Icon(
              icon,
              color: _selected == index ? Colors.red : null,
            ),
            Text(text, style: TextStyle(color: _selected == index ? Colors.red : null)),
          ],
        ),
        onTap: () => setState(
          () {
            _selected = index;
          },
        ),
      ),
    );
  }
}
 类似资料:
  • 问题内容: 如何在flutter中创建这样的自定义单选按钮组 问题答案: 这是完整的代码 To use :

  • 问题内容: 我想为捐赠表格设置一组单选按钮,但是我希望它们看起来像按钮而不是圆形表盘。 做这样的最好的方法是什么?另外,请记住,它必须与IE8一起使用。 这是我到目前为止的内容 谢谢 问题答案: 可以使用CSS来完成,而无需大型框架。我已经使用复选框和单选按钮完成了此操作。 此方法无需添加新的HTML或引入任何JS库即可。 => HTML的新命令 这是一个十分钟的hacky版本,您可以进一步清理它

  • 问题内容: 我正在尝试根据列表创建多个复选框,但是看起来好像在搞砸按钮的 命令调用 和 变量方面 。 我的代码是: 到目前为止,该测试是针对在选中复选框的情况下将课程打印在控制台上的,但是仅对第二个按钮“ CSE 4343”有效。当我与按钮“ CSE 4444”交互时,什么都不会打印。 同样,无论我单击按钮“ CSE 4343”还是按钮“ CSE 4444”,“ place”值的onClick始终

  • 主要内容:创建单选按钮,单选按钮组,单选按钮事件,单选按钮焦点单选按钮通常组合在一起,以便用户进行单选,即用户只能在单选按钮列表中选择一个项目。 例如,当选择鞋子尺寸时,我们通常从列表中选择一个尺寸。 单选按钮只能执行:选择或取消选择。 以下代码显示,当放置在中时,只能选择一个。 上面的代码生成以下结果。 创建单选按钮 包中的类有两个构造函数。 要为其标签创建一个带有空字符串的单选按钮,然后再设置标签。 要创建具有指定标签的单选按钮。 方法带有参数可以显式选

  • 主要内容:硬编码的单选按钮,单选按钮内项,由地图生成的单选按钮以下部分显示如何使用JSF中的创建单选按钮。 标签呈现一组类型为“”的HTML输入元素,并使用HTML表格和标签标签进行格式化。 以下JSF代码 - 被渲染生成以下HTML代码 - 硬编码的单选按钮 以下是文件: 中的代码。 以下是文件: 中的代码 - 以下是文件: 中的代码 - 单选按钮内项 以下是文件: 中的代码。 以下是文件: 中的代码。 以下是文件: 中的代码。 由地图生成的单选按钮 以下