flutter RaisedButton点击改变自身颜色 仅做记录

将按钮的 color 设置一个变量 点击以后改变变量的值


class ThemeColors {
  ///纯黑色
  static Color colorBlack = Color.fromARGB(255, 0, 0, 0);
}

class SwitchDemo extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => FirstScreen();
}
class FirstScreen extends State<SwitchDemo> {
  bool check = true;

  @override
  Widget build(BuildContext context) {
    return  Scaffold(
      appBar:  AppBar(
        title:  Text('First Screen'),
      ),
      body:  Column(
        children: <Widget>[
          Container(
            child: Center(
              child: Container(
                child: GestureDetector(
                  child: new Text(
                      'hello',
                      style: new TextStyle(
                        color: Colors.white,
                        fontSize: 24.0,
                        fontWeight: FontWeight.w900,
                      )),
                  onTap: () {
                    Navigator.of(context).pushNamed('/demo');
                  },
                ),
                decoration:  BoxDecoration(
                  image:  DecorationImage(
                    image:AssetImage('assets/1.jpg'),
                  ),
                ),
                width: 400,
                height: 200,
              ),
            ),
            width: 400,
            color: Colors.red,
          ),
          RaisedButton(
            child: Text(' 返回 ',
                style: new TextStyle(
                  color: Colors.white,
                  fontSize: 24.0,
                  fontWeight: FontWeight.w900,
                )),
            color: ThemeColors.colorBlack, // 颜色设置为变量
            onPressed:() {
              setState(() {
                if (check) { // 通过判断check 来 改变按钮颜色
                  Navigator.of(context).pushNamed('/Platform');
                  ThemeColors.colorBlack = Color.fromARGB(255, 0, 0, 0); 
                } else {
                  ThemeColors.colorBlack = Color.fromARGB(255, 226, 36, 0);
                }
              });
            },
          ),
          Switch(
            value: check,
            activeColor: Colors.red,
            activeTrackColor: Colors.blue,
            inactiveThumbColor: Colors.green,
            inactiveTrackColor: Colors.orange,    // 激活时原点颜色
            materialTapTargetSize: MaterialTapTargetSize.padded,
            onChanged: (bool val) {
              setState(() {
                check = !check;
                if (check) {
                  print(check);
                }
              });
            },
          )
        ],

      ),
    );
  }
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值