일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tabbar
- DART
- 테스트
- drift
- binding
- Coroutines
- Button
- Dialog
- LifeCycle
- 계측
- 앱
- textview
- textfield
- intent
- android
- viewmodel
- 앱바
- TEST
- CustomScrollView
- activity
- appbar
- Compose
- Kotlin
- scroll
- Navigation
- data
- 안드로이드
- Flutter
- livedata
- ScrollView
- Today
- Total
목록분류 전체보기 (355)
Study Record
✍ Conditional expressions if-else 문이 필요할 수 있는 식을 간결하게 평가할 수 있는 두 가지 연산자가 있다. 😶 condition ? expr1 : expr2 condition 이 참이면 expr1 거짓이면 expr2 를 반환한다. void main() { String value = 13 > 9 ? "13이 9보다 크다." : "13이 9보다 작다."; // 13이 9보다 크다. print(value); } 😶 expr1 ?? expr2 expr1 값이 null 이 아니면 expr1 을 반환하고 null 일 경우 expr2 를 반환한다. void main() { String? a = null; String value = a ?? "a는 null"; // a는 null prin..
🎁 LayoutBuilder 빌드 방식을 사용하면서 위젯을 완성하기 전에 위젯의 크기를 확인할 수 있는 위젯이다. builder 의 constraint.maxHeight 와 constraint.maxWidth 변수로 위젯의 너비와 높이를 알 수 있다. LayoutBuilder( builder: (BuildContext context, BoxConstraints constraint){ // LayoutBuilder 가 차지하고 있는 높이 constraint.maxHeight; // LayoutBuilder 가 차지하고 있는 너비 constraint.maxWidth; return Container(); } ) 예시 😶) 가로 스크롤의 ListView 에서 한 아이템이 한 스크롤 화면 당 3개의 항목을 보여주..
✍ 앱 바 사이즈 import 'package:flutter/material.dart'; // 앱 바 사이즈 kToolbarHeight
✍ Dismissible 주로 리스트 뷰(ListView, GridView 등)에서 사용자가 항목을 스와이프 모션으로 삭제하는 것을 가능하게 해주는 위젯이다. Dismissible({ required Key key, required Widget child, Widget? background, Widget? secondaryBackground, Future Function(DismissDirection)? confirmDismiss, void Function()? onResize, void Function(DismissUpdateDetails)? onUpdate, void Function(DismissDirection)? onDismissed, DismissDirection direction = Dismi..
✍ .. "." 을 사용해서 함수를 실행하고 return 값으로 실행한 함수의 return 값이 반환된다. 하지만 ".." 은 리턴값으로 함수를 실행한 대상이 리턴된다. int a = 3; String aStr = a.toString(); final aInt = a..toString(); // true print(aInt is int); a = 5; print(aInt);// 3 print(a);// 5 위의 예시와 같이 a.toString() 을 했을 때 toString() 의 리턴값은 String 인데 a..toString() 하면 a 를 리턴받아 aInt 의 타입은 int 이 된다.
✍ RefreshIndicator 스크롤할 수 있는 화면의 맨 상단을 위로 당기면 로딩 아이콘이 나오면서 서버에 데이터를 다시 가져오거나 하는 등 새롭게 다시 데이터를 뿌려줄 때 이용하면 좋은 위젯이다. 사용 방법은 간단하다. RefreshIndicator 에 child 와 onRefresh 에 새로 고침 아이콘을 하면서 실행할 작업을 정의한다. child 에 스크롤이 가능한 위젯을 넣으면 된다. import 'package:flutter/material.dart'; void main() => runApp(MaterialApp(home: RefreshIndicatorScreen())); class RefreshIndicatorScreen extends StatelessWidget { const Refre..
✍ Scrollbar 스크롤할 수 있는 위젯의 상위 위젯에 Scrollbar 위젯을 넣으면 스크롤 바가 생긴다. 일반적으로 ListView, GridView CustomScrollView 등의 상위 위젯에 Scrollbar 를 사용하는데 리스트 뷰의 항목 개수가 명확하지 않을 경우(itemCount, childCount 가 명시되지 않은 경우 무한 스크롤) 스크롤 바가 보이지 않는다. Scrollbar({ Key? key, required Widget child, ScrollController? controller, bool? thumbVisibility, bool? trackVisibility, double? thickness, Radius? radius, bool Function(ScrollNotif..
✍ SliverPersistentHeader CustomScrollView 의 silvers 중 하나로 사용할 수 있는 위젯으로 스크롤 중에도 상단에 위젯을 고정시킬 수 있다! 하나의 CustomScrollView 에 여러 개의 SliverPersistentHeader 가 있으면 상단에 위젯들이 쌓인다. SliverPersistentHeader({ Key? key, required SliverPersistentHeaderDelegate delegate, bool pinned = false, bool floating = false, }) 인자 중 delegate 가 꼭 필요한데 SliverPersistentHeaderDelegate() 는 다음과 같다. class _CustomSliverPersistent..