daino_saur
article thumbnail
반응형

 

ScrollPhysics

 

Flutter에서 ScrollPhysics는 스크롤 동작을 제어하는 역할을 합니다.
다양한 스크롤 방식이나 동작을 정의할 수 있으며, 스크롤의 물리적 특성을 설정할 수 있습니다.
ScrollPhysics의 종류는 기본적인 스크롤 동작을 제어하는 것부터 커스텀 스크롤 물리를 만드는 것까지 다양하다.

 

ScrollPhysics의 종류

1. BouncingScrollPhysics

  • 설명: 스크롤 끝에 도달했을 때 약간 튕기는 애니메이션을 제공합니다. iOS에서 기본적으로 사용되는 스크롤 동작
  • 사용 예시:
    ListView(
      physics: BouncingScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )
  • 주로 사용하는 플랫폼: iOS

 

2. ClampingScrollPhysics

  • 설명: 스크롤 끝에 도달했을 때 튕김 없이 스크롤이 끝나는 동작입니다. Android에서 기본적으로 사용되는 스크롤 동작
  • 사용 예시:
    ListView(
      physics: ClampingScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )
  • 주로 사용하는 플랫폼: Android

 

3. AlwaysScrollableScrollPhysics

  • 설명: 콘텐츠의 크기가 스크롤 가능하지 않더라도 항상 스크롤이 가능한 상태로 유지합니다. 일반적으로 스크롤이 필요하지 않은 경우에도 스크롤이 되도록 강제하는 동작
  • 사용 예시:
    ListView(
      physics: AlwaysScrollableScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )

4. NeverScrollableScrollPhysics

  • 설명: 스크롤이 불가능하도록 합니다. 리스트가 스크롤 되지 않게 고정된 경우에 사용
  • 사용 예시:
    ListView(
      physics: NeverScrollableScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )

5. FixedExtentScrollPhysics

  • 설명: 고정된 아이템 크기를 가진 스크롤 리스트에 사용됩니다. 예를 들어 ListWheelScrollView와 같은 위젯에서 각 항목의 크기가 고정되어 있을 때 유용
  • 사용 예시:
    ListWheelScrollView(
      physics: FixedExtentScrollPhysics(),
      itemExtent: 50.0,
      children: [ /* 리스트 아이템들 */ ],
    )

6. PageScrollPhysics

  • 설명: 페이지 기반의 스크롤 동작을 제공합니다. 스크롤이 페이지 단위로 스냅되며, 주로 PageView에서 사용
  • 사용 예시:
    PageView(
      physics: PageScrollPhysics(),
      children: [ /* 페이지들 */ ],
    )

7. RangeMaintainingScrollPhysics

  • 설명: 스크롤이 변경될 때 스크롤 범위 내에서 위치를 유지하는 동작을 제공합니다. 특정 상황에서 스크롤 위치가 동적으로 변경될 때 유용
  • 사용 예시:
    ListView(
      physics: RangeMaintainingScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )

8. AlwaysScrollableScrollPhysics

  • 설명: 리스트의 내용이 적더라도 항상 스크롤이 가능하도록 만듭니다. 보통 RefreshIndicator와 함께 사용할 때 유용
  • 사용 예시:
    ListView(
      physics: AlwaysScrollableScrollPhysics(),
      children: [ /* 리스트 아이템들 */ ],
    )

커스텀 ScrollPhysics

  • 설명: Flutter에서는 위에 나열된 기본 제공 물리 동작 외에도, ScrollPhysics를 상속하여 자신만의 커스텀 스크롤 동작을 만들 수 있습니다. 예를 들어 스크롤 속도를 변경하거나, 스냅 동작을 커스터마이징할 수 있음
반응형

'프로그래밍 > Flutter' 카테고리의 다른 글

[Flutter] 상태관리  (0) 2024.05.15
[Flutter] Open API JSON 파싱  (0) 2023.10.29
[Flutter] HTTP 구조  (0) 2023.10.29
[Flutter] Lambdas  (0) 2023.10.29
[Flutter] Future  (0) 2023.10.16
profile

daino_saur

@daino

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!