flutter - 如何仅在调用 onPressed 时更改 CupertinoButton 背景颜色

标签 flutter dart flutter-cupertino

我试过下面的代码,但它不会仅在按下时改变按钮的颜色。

//class attribute
Color bgColor = Colors.deepPurpleAccent;

//Widget
CupertinoButton(
  color: bgColor,
  child: Text('LOGIN', style: TextStyle(fontFamily: 'Roboto',)),
  borderRadius: const BorderRadius.all(Radius.circular(80.0)),
  onPressed: () {
  this.setState(() {
    bgColor = Colors.black;  
  });
  print(_emailValue);
  print(_passwordValue);
  Navigator.pushReplacementNamed(context, '/products');
  },
),

最佳答案

如果您只想调整突出显示按钮颜色的不透明度,您可以更改 pressedOpacity 属性:

CupertinoButton(
  pressedOpacity: 0.4,
  ...

默认的 pressedOpacity 值为 0.1,该值非常低。我发现 0.4 对于原生 iOS 外观来说更自然。

关于flutter - 如何仅在调用 onPressed 时更改 CupertinoButton 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56740448/

相关文章:

flutter - 动画列表只删除最后一个项目而不是给定索引处的项目

Flutter BottomNavigationBarItem 只接受 Icon 而没有其他小部件?

dart - Flutter:如何使用双列表对表的数据进行排序

flutter - 使用不包含 Navigator 的上下文请求的 Navigator 操作

dart - 如何打开弹出菜单按钮?

dart - Flutter - 底部溢出 119 像素

dart - 如何使用 Flutter Cupertino 图标?

java - Flutter doctor 无法找到捆绑的 Java 版本 Android Studio Electric Eel

dart - 滚动 Controller 和刷新指示器不起作用