gpt4 book ai didi

flutter - OnPressed 对字体颜色的影响

转载 作者:行者123 更新时间:2023-12-03 02:55:02 32 4
gpt4 key购买 nike

我正在制作简单的自定义文本按钮

SizedBox(
height: 40,
child: Material(
color: Colors.transparent,
child: InkWell(
onTap: (){},
splashColor: Colors.black12,
child: Center(
child: Text(
'Done',
style: TextStyle(
fontSize: 18, color: Colors.white, fontWeight: FontWeight.w500),
),
),
),
),
)
现在这很好用,但是对 onTap 事件的影响是围绕文本的
enter image description here
如何使这种效果仅出现在文本字体上,或者如果不可能,则在点击时更改文本颜色并在发布时将其更改回来

最佳答案

要在按下时更改文本的颜色,您可以使用 onHighlightChanged InkWell 的事件处理程序。
在您的类(class)中声明一个颜色属性:

Color textColor = Colors.white;
并更改您的 InkWell 实现:
InkWell(
onTap: () {},
splashColor: Colors.transparent,
highlightColor: Colors.transparent,
onHighlightChanged: (value) {
setState(() {
textColor = value ? Colors.white70 : Colors.white;
});
},
child: Center(
child: Text(
Done',
style: TextStyle(
fontSize: 18,
color: textColor,
fontWeight: FontWeight.w500
),
),
),
)
注:
  • 您必须设置 splashColor如透明
  • 您必须设置 highlightColor如透明
  • 关于flutter - OnPressed 对字体颜色的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62531339/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com