[Android] 부드러운 화면 전환과 좌표체계
2021. 1. 18. 23:13
반응형
1. 안드로이드 좌표 체계
부드러운 화면 전환을 위해서는 안드로이드의 좌표 체계를 먼저 알아야 한다.
좌표 체계는 위와 같이, 실제 보이는 화면의 좌측 상단이 (0,0)을 기준으로 한다.
즉 화면을 '실제 보이는 화면' 위치에서 아래로 내리는 Animation을 주고 싶다면 대략적으로 y좌표를 0에서 100으로 옮기면 될 것 같다는 것을 알 수 있다.
2. 애니메이션 생성
위에서 언급한 화면 이동 효과는 다음 코드와 같이 작성할 수 있다.
이 코드는 res 폴더 안에 anim이라는 폴더를 생성한 후, anim 폴더 안에서 생성해줘야 한다.
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="150"
android:fromYDelta="0%p"
android:toYDelta="100%p" />
이렇게 작성해주면 되는데, 여기서 duration은 움직이는데 소요되는 시간을 말한다. ms단위이므로 1000이 1초고, 위 코드와 같이 150이면 0.15초다.
fromYDelta를 0, toYDelta를 100으로 설정해서 화면이 위에서 아래로 내려가는 것을 구현했다.
3. 실제 코드에 적용
이후 위에서 설정한 애니메이션을 코드에 적용시켜주면 된다.
override fun onBackPressed() {
super.onBackPressed()
overridePendingTransition(R.anim.slide_down_from_top, R.anim.slide_down_to_bottom)
}
이 코드는 뒤로가기가 클릭 됐을 때 호출되는 onBackPressed함수에 위에서 생성했던 애니메이션을 적용한 코드다.
overridePendingTransition을 사용하면 되는데 첫 번째 parameter는 새로 나타나는 화면이 어떻게 작동할 것인지에 대한 animation과 두 번째 parameter는 현재 화면이 어떻게 작동할 것인지에 대한 animation이다.
적절하게 잘 활용하면 좀 더 나은 어플리케이션을 만드는데 도움이 될 것이다.
반응형
'프로그래밍 > 안드로이드+코틀린' 카테고리의 다른 글
안드로이드 볼륨키 클릭 이벤트 관리 (0) | 2021.01.29 |
---|---|
안드로이드 suspendCoroutine를 통해 Firebase 이용하기 (0) | 2021.01.28 |
안드로이드 스튜디오 실수로 삭제한 파일 복구 (0) | 2020.12.29 |
안드로이드 스튜디오 뒤로가기(back) 버튼 감지하는 법 (0) | 2020.12.27 |
안드로이드 액티비티 생명 주기 (0) | 2020.12.21 |