본문 바로가기
Mobile/Flutter

[Flutter] 위젯 터치 막기 (AbsorbPointer)

by C_Meaning 2023. 11. 15.
728x90

Flutter에는 터치 가능 여부를 컨트롤할 수 있는 위젯이 있습니다.

 

터치를 막고자하는 위젯에 AbsorbPointer 위젯으로 감싸주는 것만으로 간단하게 구현 가능합니다.

 

absorbing에 bool 인자를 넘겨주어 터치여부를 변경할 수 있으며, 값을 주지 않을 시 자동으로 true 상태로 동작합니다.

trailing: AbsorbPointer(
        absorbing: true, //클릭 가능 여부
        child: RatingBar.builder(
          initialRating: bookReport.stars ?? 0,
          allowHalfRating: true,
          unratedColor: Colors.amber.withAlpha(50),
          itemCount: 5,
          itemSize: 20.0,
          itemPadding: EdgeInsets.symmetric(horizontal: 0.0),
          itemBuilder: (context, _) => Icon(
            Icons.star,
            color: Colors.amber,
          ),
          onRatingUpdate: (rating) {
            return;
          },
        ),
      ),
728x90

댓글