flutter - 按下时更改 OutlineButton 的文本颜色

标签 flutter dart

我似乎并没有真正在大纲按钮中找到一个属性来在突出显示或按下时更改文本颜色。

    OutlineButton(
      child: Text('Delete'),
      shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(4.0)),
      borderSide: BorderSide(color: Colors.redAccent),
      highlightedBorderColor: Colors.redAccent,
      highlightColor: Colors.redAccent,
      textColor: Colors.redAccent,
      onPressed: () {},
    )

我希望此按钮在按下时将文本颜色更改为白色

最佳答案

我认为最好的选择是从 RawMaterialButton 创建您自己的自定义按钮

Color buttonColor = Colors.redAccent;



RawMaterialButton(
  child: Text(
  'Delete',
  style: TextStyle(color: buttonColor),
  ),
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(4.0),
    side: BorderSide(color: Colors.redAccent, width: 1)),
  fillColor: Colors.transparent,
  elevation: 0,
  highlightElevation: 0,
  splashColor: Colors.black12,
  onHighlightChanged: (hc) {
     setState(() {
         hc
         ? buttonColor = Colors.white
         : buttonColor = Colors.redAccent;
       });
     },
  highlightColor: Colors.red,
  onPressed: () {},
 )

关于flutter - 按下时更改 OutlineButton 的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62614337/

相关文章:

android-studio - 带有 radio 的 flutter ListView 未显示在警报对话框中

Flutter SQFlite 按整数 ID 列表删除多个

ios - fcm onMessage 在模拟器上工作,但在物理设备上不起作用

flutter - 当我尝试将项目添加到列表时,Flutter编辑器显示错误

javascript - 如何将 'this' 从 A 类传递到 B 类?

dart - 文本不会在行中溢出

android - 如何用文本填充轮子,然后使其旋转(全部在 Flutter 中)?

flutter - 如何将Google admob与Flutter项目集成在一起?

flutter - Flutter-Openweathermap API调用错误-将参数传递给api调用不起作用

html - Dart Polymer表单字段未显示验证错误