[flutter] 플러터 Checkbox 위젯 사용법

플러터(Flutter)에서 Checkbox 위젯은 사용자가 선택할 수 있는 복수의 옵션 중에서 하나 이상을 선택하기 위해 사용됩니다. Checkbox는 재사용 가능하며, 사용자가 선택한 항목의 상태를 추적할 수 있습니다.

이번 글에서는 플러터에서 Checkbox 위젯을 어떻게 사용하는지에 대해 알아보겠습니다.

Checkbox 위젯 생성

Checkbox 위젯은 Checkbox() 생성자를 사용하여 생성할 수 있습니다. 아래는 Checkbox 위젯을 생성하는 예제 코드입니다.

Checkbox(
  value: isChecked,
  onChanged: (bool newValue) {
    setState(() {
      isChecked = newValue;
    });
  },
)

위 코드에서 value 매개변수는 checkbox의 현재 상태를 나타내는 bool 값입니다. isChecked 변수가 true일 경우 체크된 상태, false일 경우 체크되지 않은 상태를 나타냅니다.

onChanged 매개변수는 checkbox의 상태가 변경될 때 호출되는 콜백 함수입니다. 콜백 함수 안에서 setState()를 호출하여 위젯의 상태를 갱신합니다.

Checkbox 그룹 생성

Checkbox 그룹은 여러 개의 Checkbox 위젯을 함께 그룹화하여 사용자가 복수의 항목을 선택할 수 있게 합니다. Checkbox 그룹을 사용하기 위해서는 CheckboxListTile 위젯을 사용해야 합니다.

아래는 Checkbox 그룹을 생성하는 예제 코드입니다.

List<bool> isCheckedList = [false, false, false];

Column(
  children: <Widget>[
    CheckboxListTile(
      title: Text('옵션 1'),
      value: isCheckedList[0],
      onChanged: (bool newValue) {
        setState(() {
          isCheckedList[0] = newValue;
        });
      },
    ),
    CheckboxListTile(
      title: Text('옵션 2'),
      value: isCheckedList[1],
      onChanged: (bool newValue) {
        setState(() {
          isCheckedList[1] = newValue;
        });
      },
    ),
    CheckboxListTile(
      title: Text('옵션 3'),
      value: isCheckedList[2],
      onChanged: (bool newValue) {
        setState(() {
          isCheckedList[2] = newValue;
        });
      },
    ),
  ],
)

위 코드에서 isCheckedList는 Checkbox 그룹에서 각 항목의 상태를 나타내는 bool 값을 리스트로 저장한 변수입니다. 각 항목의 상태는 각각의 CheckboxListTile 위젯에 대응되는 인덱스에 저장됩니다.

CheckboxListTile은 Checkbox 위젯과 함께 사용되며, 제목(title)과 상태(value)를 설정할 수 있습니다. onChanged 콜백 함수에서 새로운 값으로 상태를 업데이트하고, 그에 따라 setState()를 호출하여 위젯의 상태를 갱신합니다.

정리

위에서는 플러터에서 Checkbox 위젯과 Checkbox 그룹을 사용하는 방법에 대해 알아보았습니다. Checkbox 위젯은 사용자가 복수의 옵션 중에서 선택할 수 있는 기능을 제공하며, Checkbox 그룹을 사용하면 여러 개의 옵션을 묶어서 사용자가 선택할 수 있게 됩니다.

더 자세한 내용은 Flutter 공식 문서를 참고하시기 바랍니다.