小编Ale*_*ntt的帖子

如何自定义Flutter Material 3 Switch?

如何定制 Material 3 开关?

在此输入图像描述

在此输入图像描述

正如您所看到的,我已经将大部分开关自定义为红色,这里唯一缺少的是“边框”,由于某种原因它被设置为白色,我看不到可以修改为红色的参数。

我还阅读了该类的 Flutter 文档Switchhttps://api.flutter.dev/flutter/material/Switch-class.html,但有 2 个示例使用 Material 2,唯一的 Material 3 示例不会修改默认边框。

这是当前的小部件配置:

Switch(
  // focusColor: Colors.blue,
  trackColor: MaterialStateProperty.resolveWith(
    (Set<MaterialState> states) {
      if (states.contains(MaterialState.selected)) {
        return Colors.red;
      }
      return Colors.red.withOpacity(.1);
    },
  ),
  overlayColor: MaterialStateProperty.resolveWith(
    (Set<MaterialState> states) {
      if (states.contains(MaterialState.disabled)) {
        return Colors.red;
      }
      return Colors.white.withOpacity(.1);
    },
  ),
  // hoverColor: Colors.green,
  thumbColor: MaterialStateProperty.resolveWith(
    (Set<MaterialState> states) {
      if (states.contains(MaterialState.selected)) {
        return HSLColor.fromColor(Colors.red)
            .withLightness(0.2)
            .toColor();
      }
      return Colors.red;
    },
  ),
  splashRadius: 24,
  // inactiveTrackColor: Colors.pink,
  // …
Run Code Online (Sandbox Code Playgroud)

material-design flutter material3

2
推荐指数
1
解决办法
1922
查看次数

标签 统计

flutter ×1

material-design ×1

material3 ×1