Fragment to Fragment with animation
프래그먼트에서 프래그먼트로 이동하는 순간의 애니메이션 효과를 적용해줄 수 있다.
이 방법은 매우 유용하고 앱에서 깔끔한 흐름 처리를 해주는 듯 하다.
요즘 앱에서는 이러한 효과를 심심치 않게 많이 확인 할 수 있다.
지금까지 내가 알게된 방법에 대해 기록해보겠다.
먼저 공식 문서를 확인해보자. [보러가기]
사용방법
val fragment = FragmentB()
supportFragmentManager.commit {
setCustomAnimations(
R.anim.slide_in,
R.anim.fade_out,
R.anim.fade_in,
R.anim.slide_out
)
replace(R.id.fragment_container, fragment)
addToBackStack(null)
}
1. 먼저 이동시킬 프래그먼트 인스턴스를 생성해준다. (데이터를 넣어주려면, newInstance()방법을 사용해보면된다.)
2. supportFragmentManager을 만들어서 플루언트 명령을 추가해준다.
--> 원래 사용하던 방법은 아래와 같았다.
val fragment = BFragment()
supportFragmentManager
.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit()
위의 방법과 아래 방법 다 되지만, Commit{}트랜잭션 명령? 을 먼저 추가해주고 쓰는 것이 더 간단해 보였다.
아무튼 이렇게 위의 anim을 호출하여 적용해주면, 된다.
anim의 값들은 공식문서에 있는 것을 그대로 따서 만들었다.
1. Anim을 만들어서 따온다.
2. frag들이 적용되어있는 acitivity에 이동 명령을 추가하고 거기에 Frag의 옵션을 추가해준다.(약간 intent느낌남)
3. build해보면 화면 이동이 변화가 있다.
728x90
반응형
'Programming > Android' 카테고리의 다른 글
Coroutines in Kotlin (0) | 2021.09.30 |
---|---|
SHA-1, SHA-256 ? (0) | 2021.09.13 |
Broadcast Intent (0) | 2021.08.27 |