[flutter] 스크롤바의 색상을 그라데이션으로 변경하는 방법

Flutter 앱에서 스크롤바의 색상을 사용자 정의하려면 다음과 같이 하면 됩니다.

1. Custom Scrollbar 만들기

제일 먼저 CustomScrollView 위젯을 사용하여 스크롤 뷰를 만듭니다.

CustomScrollView(
  scrollDirection: Axis.vertical,
  slivers: <Widget>[
    // 여기에 스크롤 뷰에 표시될 요소를 추가합니다
  ],
)

2. ScrollbarPainter 생성

다음으로, 그라데이션 효과를 적용하기 위한 ScrollbarPainter를 생성합니다.

class GradientScrollbarPainter extends MaterialScrollbarPainter {
  // 그라데이션 스크롤바를 그리기 위한 코드 작성
}

3. ScrollbarThemeData 작성

다음으로, 새로 만든 ScrollbarPainter에 대한 ScrollbarThemeData를 작성합니다.

ScrollbarThemeData(
  thumbColor: MaterialStateProperty.resolveWith<Color>(
    (Set<MaterialState> states) {
      // 상태에 따라 색상을 설정
    },
  ),
  // 그라데이션 스크롤바에 대한 다른 속성 설정
)

4. CustomScrollbar 만들기

마지막 단계로, 새로 생성된 ScrollbarPainter를 사용하여 사용자 정의 스크롤바를 만듭니다.

CustomScrollbar(
  thickness: 6, // 스크롤바의 두께
  isAlwaysShown: true, // 항상 보이도록 설정
  radius: Radius.circular(3), // 스크롤바의 모서리를 둥글게 만듭니다
  radius: Radius.circular(12.0), // radius 또는 radius를 이용하여 원하는 스타일로 조정합니다
  thumb: MaterialStateProperty.all<Style>(
    // 그라데이션 스크롤바 적용
  ),
  child: CustomScrollView(
    scrollDirection: Axis.vertical,
    slivers: <Widget>[
      // 스크롤 뷰에 표시될 요소 추가
    ],
  ),
)

이제 스크롤뷰에 그라데이션 스크롤바가 적용되었습니다!

참고 자료