单击复选框或按钮时,如何检测是否按下了某个键?

问题描述

例如,用户单击了一个复选框,我如何判断用户是否按住了 SHIFT、CTRL 或任何其他键?

CheckBox(
    value: checked,onChanged: (value) {
        setState(() {
            // do something
        });
    },),

解决方法

在您的 StateFull widget 中执行类似波纹管片段的操作

bool _isChecked = false;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Checkbox(
          value: _isChecked,onChanged: (value) {
            setState(() {
              _isChecked = value;
            });
          },),ElevatedButton(
          child: Text('Button'),onPressed: (){
            if(_isChecked){
              print('CHeckbox is checked');
            }else{
              print('CHeckbox is not checked');
            }
          },],);
  }