반응형
질문
기본적으로, 플러터는 안드로이드 폰에서 ListView
/GridView
/...에 대한 오버스크롤에 발광 효과를 추가합니다.
이 효과를 완전히 삭제하거나 특정한 스크롤 가능한 항목에서만 삭제하고 싶습니다.
ScrollPhysics
를 변경하여 바운스/클램프를 전환할 수 있다는 것을 알고 있지만, 이는 실제로 발광 효과를 제거하지 않습니다.
어떻게 해야 할까요?
답변
GlowingOverscrollIndicator
는 ScrollBehavior
에 의해 추가되는 빛나는 효과입니다.
이 효과를 제거하려면 사용자 정의 ScrollBehavior
를 지정해야합니다. 이를 위해 원하는 ScrollBehavior
로 ScrollConfiguration
을 래핑하면됩니다.
다음 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(
...
),
)
스크롤 뷰 경계에 도달할 때 페이드를 추가하는 것과 같이 효과를 변경하려는 경우에도이 방법이 유효합니다.
반응형
댓글