일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sqlite
- Behavior
- onLayout
- activity
- 백준
- View
- notification
- BOJ
- AppBarLayout
- HTTP
- room
- 안드로이드
- CollapsingToolbarLayout
- Navigation
- Android
- 알고리즘
- CoordinatorLayout
- Coroutine
- ViewModel
- Algorithm
- onMeasure
- 코틀린
- hilt
- 알림
- recyclerview
- kotlin
- lifecycle
- CustomView
- DataBinding
- LiveData
- Today
- Total
목록Behavior (6)
개발일지
Dialog.behavior.state를 STATE_EXPANDED로 바꿔주자! BottomSheetDialogFragment에서 예시 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return super.onCreateDialog(savedInstanceState).apply { if (this is BottomSheetDialog) { behavior.state = BottomSheetBehavior.STATE_EXPANDED } } }
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/P5nCm/btqUM8cxIXU/8IqPOQkoVjj17LZzFJKFR0/img.gif)
CollapsingToolbarLayout FrameLayout을 상속받은 View로 AppBarLayout이 CoordinatorLayout의 Child View에서만 정상작동 하듯이 CollapsingToolbarLayout은 AppBarLayout의 Child View일 때 정상작동 한다. Toolbar 기본적으로 toolbarId 값을 정하여 CollapsingToolbar에 Toolbar를 알리지만 굳이 추가하지 않아도 내부적으로 Toolbar를 찾는다. app:toolbarId="@id/toolbar" Title 기본적으로 title을 정하지 않으면 Toolbar의 title을 가져온다. titleEnabled를 설정하면 CollapsingToolbar의 Title을 사용하고 설정하지 않으면 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VGoA4/btqULCd4hKG/WOnUtJfcTtHdQZbmDKbOI0/img.gif)
AppBarLayout LinearLayout을 상속받은 View로 Orientation이 Vertical만 지원한다. (Horizontal 사용시 Exception발생) AppBarLayout은 CoordinatorLayout의 Child View일 때만 정상작동하며 Scroll시 효과를 줄 수 있다. app:layout_scrollFlags scroll : Scroll에 대한 반응을 주려면 무조건 줘야한다. noScroll : 기본값 어떠한 반응도 하지 않는다. enterAlways : 언제든지 Scroll을 내리면 AppBar가 사라지고, 언제든지 Scroll을 올리면 AppBar가 나타난다. enterAlwaysCollapsed : Scroll을 내리면 min_height만큼 남기고 AppBar가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ds3IVv/btqUUpD0KsA/Dk8YEsOGZ0lxSVGLB4xhPK/img.gif)
CoordinatorLayout View간의 상호작용을 처리하기 위한 View이다. CoordinatorLayout이 Child View의 Behavior를 수신하여 다른 Child View에 Behavior를 전달한다. 각 Child View는 미리 정의된 Behavior를 사용하거나 새롭게 만든 Behavior를 사용하여 수신된 Behavior로 특정 작업을 수행할 수 있다. Scroll시 AppBarLayout 변경 SnackBar생성시 FloatingActionButton 위치 변경 Developer 정의 CoordinatorLayout is a super-powered FrameLayout. CoordinatorLayout is intended for two primary use cases: 1..
CoordinatorLayout은 View의 Visible상태가 GONE인 것은 생략하기 때문에 FloatingActionButton을 그냥 hide로 숨기면 그 다음부터 상태전달을 생략한다. (hide는 View의 Visible을 GONE으로 만들기 때문) => hide에 재정의한 리스너를 달아주자!! override fun onNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton, target: View, dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, type: Int, consumed: IntArray) { super.onNeste..
CoordinatorLayout자식뷰들의 상호작용을 도와준다. 보통 자식뷰에 Behaviors를 지정하여 스크롤시 효과를 주기도 한다. ScrollView는 Behaviros를 못주지만 NestedScrollView와 RecyclerView는 줄 수 있다. 만약 CoordinatorLayoutAppbarLayout RecyclerView구조에서 RecyclerView에게 Behaviors를 주지 않는 경우 AppbarLayout에 RecyclerView가 겹쳐서 안보이고 상호작용을 할 수 없다. 해결코드