티스토리 뷰
76. IgnorePointer
앱이 유저와 interacting(Tapping, Clicking, Dragging, Scrolling 등등) 하는 것으로 부터 보호하고 싶을 때 사용.(AbsorbPointer 랑 차이가 뭐지) . 유저로부터 보호하고자하는 위젯을 IgnorePointer로 감싸면된다.
77. CupertinoActivityIndicator
쿠퍼티노 형태의 프로그래스 인디케이터.
78. ClipOval
하위 요소를 원이나 타원으로 둥글게 오려낼 수 있는 위젯. 기본 모드는 가져오는 child를 타원형으로 바꿔 놓지만, clipper 특성을 사용하면 맞춤식 재단을 할 수 있다.
79. AnimatedWidget
AnimatedWidget은 추상 클래스로 그자체로는 위젯은 아니다. 원하는 애니메이션을 만드는데 유용한 도구이다. 이미 제공되고 있는 AnimatedWidget으로는 DecoratedBoxTransition, SlideTransition, RotationTransition, FooTransition 위젯 등이 있다.
AnimatedWidget으로 원하는 애니메이션 효과를 구현하기 위해서는 2가지가 필요하다.
첫번재는, 애니메이션 효과를 입힐 위젯을 반환하는 것이다.
두번째는 업데이트된 값이 있을 경우 당신의 위젯에 알리는 것이다. 그리고 그 값을 AnimatedWidget의 superclass에도 listenable argument로 전달해야 한다.
그리고나서 당신이 애니메이션화하려는 위젯에서 listenable을 사용할 수 있도록 getter 를 추가한다.
마지막으로 build 메소드로 돌아가서 이 값을 당신의 위젯에서 사용할수 있도록 한다.
이렇게 만든 위젯을 사용하기 위해서는 statefull widget 에서 AnimationController를 생성하여 사용하는 것이 가장 쉬은 방법이다.
init state에서 controller를 초기화 하는 것을 잊지마라. 그리고 dispose에서 dispose of it 하는 것도. 컨트롤러를 만들면 당신은 이제 애니메이션을 시작하거나 정지, 반복 시킬 수 있다.
80. Padding
위젯들 간의 거리를 떨어트려 놓을 수 있다. Padding으로 감싼 하위 위젯의 일부 도는 모든 부분에 공간을 줄 수 있다.
EdgeInsets 은 EdgeInsetsGeometry 라는 추상 클래스를 구현한 것이다. Padding은 EdgeInsetsGeometry 를 이용해서 어느 곳들, 어느 정도 공간을 적용할 수 있는지 확인한다.
81. CheckboxListTile
Checkbox와 ListTile을 하나로 묶어놓은 듯한 위젯이다. ListTile 내에 어디를 클릭하든 checkbox를 껐다켰다 할 수 있다. 그리고 ListTile의 Checkbox가 없는 반대편 끝에 어떤 위젯이 올지 설정할 수 있다. CheckboxListTile 자체는 어떤 상태도 저장하지 않으므로 주로 stateful widget에서 사용한다.
82. AboutDialog
앱에 법률 용어, 버전 정보, 허가증과 같은 작은 글들을 표기해야할 때가 있다. 그렇지않으면 앱을 출시하지 못하게 하는 앱스토어도 있다. AboutDialog를 사용하면 popup dialog창으로 그러한 정보를 보여줄 수 있는 format이다. AboutDialog의 형식에 맞춰서 (버전이라던가, 법률용어 등을) 입력해 놓기만 하면된다. 앱에서 사용중인 라이센스 목록을 보여주는 버튼도 생성된다. 이것은 license file의 내용들로서 flutter tool이 자동으로 현재 앱에서 사용중인 패키지들 찾은 것이다. Flutter Foundation에 있는 LicenseRegistry 클래스를 사용하면 당신이 직접 라이센스를 이 리스트에 추가할 수도 있다.
83. 비동기 패키지
SDK에 기본적으로 있는 async 패키지 말고,
StreamGroup 도 있다. 여러 stream을 하나로 합칠 수 있다.
AsyncCashe 패키지는 반복되는 call에 대해서 cashing되어있는 결과를 특정 시간 frame 안에 function에 보내준다.
StreamQueue 패키지는 Stream data를 future의 동기식 Queue로 바꿔준다.
84. url_launcher
앱사용자를 외부 URL로 안내하거나, 이메일, 전화번호로 보낼 수 있다. 그리고 중요한 것은 canLaunch를 호출해서 장치가 URL을 열수 있는지 꼭 미리 확인을 해봐라.
85. sqflite
SQL 데이터 베이스 엔진은 대부분의 장치에서 사용가능하다. 모바일 폰에서도 SQLite 라는 이름의 SQL 데이터 베이스를 사용할 수 있다. 이것은 당신의 table에 저장하기 위해 하나의 파일을 사용하며 code는 공용 domain이다. flutter 개발자는 SQLite를 사용하기 위한 많은 선택지가 있고, 그중 가장 많이 쓰이는 플러그인은 sqflite이다.
86. SliverAppBar
스크롤을 스라이딩할때 앱바가 커지거나 작아지게 하는 것. 스크롤을 스라이딩하여 화면이 올라가다가 더이상 올라갈수 없을 때 앱바가 확대되거나, 블러되거나, 혹은 다른 기능을 호출할 수 있다.
87. Interactive Viewer
보여주고자 하는 컨텐츠(표, 그림 등)가 스크린 크기보다 클 때 이 컨텐츠(위젯)을 InteractiveViewer로 감싸면 그 위젯을 줌인, 줌아웃, pan around 할 수 있다. 기본적으로 InteractiveViewer는 컨텐츠의 사이즈를 화면에 들어 맞도록 줄인다. 하지만 옵션을 설정하여 이것을 해제하여 실제 크기의 일부분을 보이도록 할 수 도 있다.
88. GridView
항목들을 grid 형태로 보여줄 수 있다. 열의 수를 설정할 수 있으며, 각 그리드 항목들 사이의 간격을 줄 수도 있으며, ListView 처럼 스크롤할 수 있다.
89. SwitchListTile
CheckboxListTile 과 비슷하다. chechbox 대신 switch가 있는 것이다. 타일의 어디들 클릭하든 Switch가 변경된다. 이렇게 토글될 때 호출하는 onChanged 에 state형 식의 값을 변경하도록 만들어야 하므로 SwitchListTile은 일반적으로 stateful widget에서 사용된다.
90. location
기기의 지리적인 위치를 알아야하는 경우 사용할 수 있는 패키지다.
로케이션 정보를 얻기에 앞서 GPS 서비스가 켜져 있는지 확인해야 된다. disable되어있다면 enable 하도록 사용자에게 요청해야 한다.
다음으로 사용자가 해당 앱이 위치 정보에 접근하는 것을 허용했는지 확인이 필요하다.
사용자가 위치 정보 접근이 허용하지 않았다면 허용 하도록 요청하게 할 수 있다.
앞의 작업들이 끝나면 getLocation을 호출하면 위치 정보를 받을 수 있다. 위치 정보는 위도, 경도, 방향, 속도는 물론이고 onLocationChanged를 사용해서 위치의 변경사항도 수신받을 수 있다.
91. Device_info
장치의 운영체제 버전이나 장치의 정확한 모델 정보를 얻고자할때 사용할 수 있는 패키지.
92. ImageFiltered
픽셀을 low-level 단계에서 처리해주는 위젯이다. 블러, 변환, 확장, 왜곡 등등. 필터랑하려는 이미지를 ImageFiltered로 감싸고 어떤 filter를 할것인지 설정해주면 된다. 이미지 뿐만 아니라 위젯들도 가능하다. BackgroundFilter 대신 사용할 수 있다.
93. PhysicalModel
평면 위젯의 그림자 효과를 추가하고, 그림자의 색상과 모양을 지정할 수 있다. 하지만 감싼 하위 위젯이 그림자를 만들게 하는게 아니라 그아래 새로운 레이어를 생성하여 그것이 그림자를 만들게 한다.
94. animations
자세한건 아래 링크 참조
animations | Flutter Package
Fancy pre-built animations that can easily be integrated into any Flutter application.
pub.dev
95. flutter_slidable
flutter_slidable 패키지는 밀 수 있는 위젯을 제공한다.
pub.dev/packages/flutter_slidable
flutter_slidable | Flutter Package
A Flutter implementation of slidable list item with directional slide actions that can be dismissed.
pub.dev
96. RotateBox
UI의 일부를 회전하고 싶을 때 사용. 회전 시키고 싶은 하위요소를 RotateBox로 감사면 된다. Transition.Rotate는 하위 요소를 회전시켜보여주지만 렌더링에만 그렇게 할뿐 layout은 회전하기전 그대로 위치하고 있다. RotateBox는 Layout 자체가 회전된 상태로 유지하고 있다.
97. ExpansionPanel
리스트를 클릭하면 패널을 확장하여 세부내용을 보여준다. ExpansionPanelList의 하위 요소로 사용된다.
98. Scrollbar
유한한 리스트를 가진 스크롤가능한 위젯의 스크롤을 보이고 싶을 때, 이 스크롤러블 위젯을 Scrollbar로 감싸면 스크롤을 보이게 할 수 있다. 스크롤을 보이게되면 페이지의 어디쯤왔는지, 그리고 스트롤을 이용하여 보고싶은 위치를 바로 이동할 수 있다.
'Dart & Flutter > Widget & Package' 카테고리의 다른 글
addPostFrameCallback (0) | 2021.07.13 |
---|---|
Wall Layout package (0) | 2021.05.20 |
Widget 공부 #3 (0) | 2021.04.21 |
Widget 공부 #2 (0) | 2021.04.20 |
Widget 공부 #1 (0) | 2021.04.20 |
- Total
- Today
- Yesterday
- 이미지
- 디자인
- firebase
- 앱
- SizedBox
- BLE
- position
- 다트
- TextFormField
- 문제 해결
- 에러
- 플러터
- error
- Flutter
- 한빛미디어
- Chrome
- 앱개발
- IOS
- addPostFrameCallback
- 인사이트
- UX
- 앱 프로그래밍
- hide
- Syncfusion
- DART
- Bluetooth
- 크롬
- UI
- plugin
- TextField
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |