如何禁用复选框抖动

Har*_*dia 3 dart flutter flutter-layout

我在ListTile中使用Checkbox,如下所示:

 ListTile(
  leading: Checkbox(
  value: _isChecked,
    onChanged: (v) {
      setState(() {
          _isChecked = !_isChecked;
      });
    },
  ),
  title: Text("is Bathroom"),
);
Run Code Online (Sandbox Code Playgroud)

如何禁用该复选框。我知道Checkbox小部件是无状态的。但是材料子包中是否提供了其他任何可以执行此操作的Widget。类似于InputDecorator。

我对DropdownButton也有同样的问题。我使用它如下以从下拉列表中选择表单中的项目。

             InputDecorator(
                decoration: InputDecoration(
                  labelText: "Type",
                  hintText: "Choose the type",
                ),
                isEmpty: _type == null,
                child: DropdownButton<int>(
                  value: _type,
                  isDense: true,
                  onChanged: (value) {
                    setState(() {
                      _type = value;
                    });
                  },
                  items: _buildDropdownItemList(),
                ),
              );
Run Code Online (Sandbox Code Playgroud)

我在InputDecoration中尝试了enable参数,但这只是改变了装饰。用户仍然可以更改选择。

Ash*_*mas 7

您可以将null传递给onChanged属性,这将禁用该复选框。


Dan*_*lev 5

Checkbox(value: false, onChanged: null)
Run Code Online (Sandbox Code Playgroud)