NeverScrollableScrollPhysics는 Flutter에서 스크롤을 완전히 방지하는 스크롤 물리 속성입니다. 이 속성은 다음과 같은 상황에서 유용합니다.
- 스크롤이 필요하지 않은 위젯: 이미지, 텍스트 등 스크롤이 필요하지 않은 위젯을 감싸는 데 사용할 수 있습니다.
- 스크롤을 제어해야 하는 위젯: 탭바, 슬라이더 등 스크롤 방향이나 범위를 제어해야 하는 위젯을 감싸는 데 사용할 수 있습니다.
- 스크롤 충돌 방지: 여러 스크롤 가능한 위젯이 서로 가까이 있을 때 스크롤 충돌을 방지하기 위해 사용할 수 있습니다.
1. NeverScrollableScrollPhysics 사용 방법
NeverScrollableScrollPhysics를 사용하려면 다음과 같이 scrollPhysics 속성에 설정하면 됩니다.
Widget myWidget = ...;
myWidget = ScrollConfiguration(
behavior: ScrollBehavior(),
child: myWidget,
);
myWidget = SingleChildScrollView(
physics: NeverScrollableScrollPhysics(),
child: myWidget,
);
위 코드는 myWidget 위젯을 스크롤 불가능하게 설정합니다.
2. NeverScrollableScrollPhysics와 다른 스크롤 물리 속성 비교
스크롤 물리 속성 | 설명 |
AlwaysScrollableScrollPhysics | 항상 스크롤 가능 |
BouncingScrollPhysics | 스크롤 끝에서 튀는 효과 |
ClampingScrollPhysics | 스크롤 끝에서 멈추는 효과 |
NeverScrollableScrollPhysics | 스크롤 불가능 |
3. NeverScrollableScrollPhysics 활용 예시
- 이미지 뷰어: 이미지를 확대/축소할 수 있지만 스크롤은 불가능하게 설정합니다.
- 카드 목록: 카드 목록을 좌우로 스크롤할 수 있지만, 위아래 스크롤은 불가능하게 설정합니다.
- 탭바: 탭바를 좌우로 스크롤할 수 있지만, 탭바 자체는 스크롤되지 않도록 설정합니다.
'new' 카테고리의 다른 글
Hot Reload와 Hot Restart (0) | 2024.03.07 |
---|---|
Flutter 프로젝트에 패키지 추가하기 (0) | 2024.03.07 |
Flutter에서 ListView.builder() 사용하기 (0) | 2024.03.06 |
Flutter에서 VoidCallback 사용하기 (0) | 2024.03.06 |
Flutter에서 위젯 라이프 사이클 이해하기: StatelessWidget, StatefulWidget (0) | 2024.03.06 |