본문 바로가기
Flutter/Flutter FAQ

Flutter 스크롤 발광을 어떻게 제거하나요?, How to remove scroll glow?

by 베타코드 2023. 5. 28.
반응형

질문


기본적으로, 플러터는 안드로이드 폰에서 ListView/GridView/...에 대한 오버스크롤에 발광 효과를 추가합니다.

이 효과를 완전히 삭제하거나 특정한 스크롤 가능한 항목에서만 삭제하고 싶습니다. ScrollPhysics를 변경하여 바운스/클램프를 전환할 수 있다는 것을 알고 있지만, 이는 실제로 발광 효과를 제거하지 않습니다.

어떻게 해야 할까요?

enter image description here


답변


GlowingOverscrollIndicator ScrollBehavior에 의해 추가되는 빛나는 효과입니다.

이 효과를 제거하려면 사용자 정의 ScrollBehavior를 지정해야합니다. 이를 위해 원하는 ScrollBehaviorScrollConfiguration을 래핑하면됩니다.

다음 ScrollBehavior는 빛나는 효과를 완전히 제거합니다 :

class MyBehavior extends ScrollBehavior {
  @override
  Widget buildOverscrollIndicator(
      BuildContext context, Widget child, ScrollableDetails details) {
    return child;
  }
}

전체 애플리케이션에서 빛나는 효과를 제거하려면 MaterialApp 바로 아래에 추가할 수 있습니다 :

MaterialApp(
  builder: (context, child) {
    return ScrollConfiguration(
      behavior: MyBehavior(),
      child: child,
    );
  },
  home: new MyHomePage(),
);

특정 ListView에서 빛나는 효과를 제거하려면 원하는 ListView만 래핑하면됩니다 :

ScrollConfiguration(
  behavior: MyBehavior(),
  child: ListView(
    ...
  ),
)

스크롤 뷰 경계에 도달할 때 페이드를 추가하는 것과 같이 효과를 변경하려는 경우에도이 방법이 유효합니다.

반응형

댓글