[24-03-12]TIL(Flutter Widget of the Week)

BJY·2024년 3월 12일
0

TIL

목록 보기
54/75

#62.ToggleButtons
사용자가 여러 옵션 중 하나 이상을 선택할 수 있게 해주는 버튼 그룹.

#63.CupertinoActionSheet
ios기반 위젯으로서 상향식 슬라이드 동작 리스트를 제공함.(아래에서 올라오는 선택 리스트)
사용자에게 현재 컨텍스트와 관련된 두 개 이상의 선택지를 제시하는 데 사용됨.

#64.TweenAnimationBuilder
굳이 컨트롤러를 이용하지 않더라도 원하는 애니메이션 효과를 얻을 수 있음.
간단하게 애니메이션을 구현할 수 있게 도와줌.
시작 값과 종료 값 사이에서 값을 보간하여 애니메이션 효과를 쉽게 만들 수 있음.
주로 값의 변화에 따라 UI가 부드럽게 변화하도록 할 때 사용 됨.
예를 들어, 색상, 크기, 회전 각도 등이 점진적으로 변하는 애니메이션 구현할 때 유용함.

#65.Image
외부 URL에서 이미지를 사용하고 싶을 땐 Image.network를 사용하면 됨.
네트워크 이미지는 저장 이미지보다 로딩이 느릴 수 있음.
loadingBuilder를 이용하여 사용자에게 로딩 진행 과정을 보여줌.
다양한 위치에서 이미지를 불러올 수 있음.
GIF, WebP를 띄울 수도 있음.

#66.DefaultTabController, TabBar, & TabBarView
탭 인터페이스를 구현할 때 주로 사용되는 위젯들임.

DefualtTabController: 탭의 상태를 관리하는 가장 간단한 방법임.
탭들이 위차할 공간과 탭이 활성화될 때 어떤 위젯이 보여질지를 관리함.
TabBar와 TabBarView를 자식으로 가지며, 탭의 개수와 초기 활성 탭 인덱스 등을 설정할 수 있음.

TabBar: 여러 탭을 표시하는 위젯으로, 주로 앱 바의 하단이나 Scaffold의 bottomNavigationBar 속성에 위치함.
TabBar는 DefaultTabController나 직접 만든 TabController와 연동하여 사용됨.
각 탭은 Tab 위젯을 통해 정의되며, 아이콘이나 텍스트 등 다양한 요소를 포함할 수 있음.

TabBarView: 각 탭에 해당하는 뷰(컨텐츠)를 보여주는 컨테이너임.
DefaultTabController나 TabController에 의해 제어되며, 사용자가 탭을 전환할 때마다 연관된 뷰를 보여주는 역할을 함.

#67.Drawer
화면의 가장자리에서 안쪽으로 슬라이드하여 나타나는 메뉴 또는 패널임.
일반적으로 앱의 왼쪽 또는 오른쪽 가장자리에서 슬라이드하여 나오며, 화면에 추가 정보, 설정, 네비게이션 링크 등을 제공하는데 사용됨.

#68.SnackBar
변경사항이 생겼을 때 화면 아래에 바로 메시지가 뜨게 할 수 있는 위젯

#69.ListWheelScrollView
항목들이 원형으로 배치되어 마치 휠처럼 보이게 함.
이 위젯을 사용하면 사용자가 스크롤할 때 할목들이 중앙으로 오면서 확대되는 효과를 줄 수 있으며, 이는 특히 날짜나 시간을 선택하는 인터페이스 등에서 유용하게 사용될 수 있음.

#70.ShaderMask
자식 위젯에 셰이더 효과를 적용할 때 사용됨.
셰이더는 그래픽 렌더링에서 픽셀 레벨의 세부 조정을 가능하게 하는 프로그램으로, ShaderMask를 사용하여 자식 위젯에 다양한 시각적 효과를 추가할 수 있음.
예를 들어, 그라디언트, 이미지, 패턴 등을 위젯의 모양에 맞춰 적용할 수 있음.

#71.NotificationListener
위젯 트리에서 발생하는 이벤트를 감지하는 데 사용됨.
특정 타입의 이벤트가 발생했을 때, 해당 이벤트를 감지하고 추가적인 동작을 수행할 수 있게 해줌.
예를 들어, 스크롤 이벤트, 크기 변경 이벤트 등 다양한 종류의 이벤트를 감지할 수 있음.

#72.Builder
새로운 위젯 트리를 생성하는데 있음.
BuildContext를 조정하거나 위젯 트리의 특정 부분에서 새로운 BuildContext를 생성할 필요가 있을 때 사용됨.

https://www.youtube.com/watch?v=xXNOkIuSYuA&list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG&index=84&ab_channel=Flutter

profile
개발자입니다.

0개의 댓글