FlatButton is deprecated and shouldn't be used. Used TextButton instead.
在我之前的 FlatButton 小部件上,我能够在按下时更改初始颜色。但是现在我正在使用 TextButton 小部件,如何在 MaterialApp ThemeData
或直接在 TextButton
小部件上以有效的方式更改其颜色。
目前这是我的 TextButton
TextButton(
style: TextButton.styleFrom(
primary: Colors.red,
textStyle: TextStyle(
color: Colors.black45,
fontFamily: "Courier Prime",
),
backgroundColor: Colors.transparent,
),
onPressed: () {},
child: Text(
"Student",
style: TextStyle(fontWeight: FontWeight.bold),
),
),
overlayColor is used to indicate that the button is focused, hovered, or pressed.
但我找不到这个 overlayColor
答案 0 :(得分:2)
首先请记住,TextButton 上的主要属性设置其文本和图标的颜色。它不会改变波纹颜色。其次在 Textbutton 中没有直接的属性来改变初始颜色。因此,如果您想将初始颜色更改为透明,您可以这样做。
TextButton(
style: ButtonStyle(
overlayColor: MaterialStateProperty.all(Colors.________),
),
)
答案 1 :(得分:1)
TextButton(
style: ButtonStyle(
overlayColor: MaterialStateColor.resolveWith((states) => Colors.red),
),
child: ...,
)
答案 2 :(得分:0)
您可以像这样更改 Splash 颜色:
Theme(
data: ThemeData(
splashColor: Colors.red,
highlightColor: Colors.black.withOpacity(.5),
),
child: ListTile(
title: Text(
"New theme splash",
textAlign: TextAlign.center,
),
onTap: () {}),
),