Android 개발 Tip.
- Activity Transition Animation
액티비티 화면 전환시 애니메이션 방법
overridePendingTransition
액티비티를 전환할 때 애니메이션을 적용해주면
좀 더 시각적으로 있어 보이는 효과를 낼 수 있다.
횡으로 이동하거나 종으로 이동하거나
사라지거나 뿅하고 나타나거나
애니메이션을 적용해보자.
애니메이션에 대해 전혀 모른다면 다음 포스팅을 참고하자.
2020/05/22 - [Android 개발/android :: 공부] - [Android Animation] 안드로이드 애니메이션 기본 사용법 (트윈 애니메이션)
물론 몰라도 아래 예제만 그대로 따라하면 바로 만들 수 있다.
Activity 화면 전환 애니메이션 만들기
+ 안 되는 경우 해결 방법
핵심 코드는
overridePendingTransition()이다.
1. 안드로이드 activity 화면 전환시
animation을 직접 설정하는 코드
- 새로운 액티비티를 열 때
1
2
3
|
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
|
cs |
- 닫을 때는 반대로 해준다.
finish();
overridePendingTransition(R.anim.fadeout, R.anim.fadein);
애니메이션 파일은 res폴더에 anim 폴더를 만들어서
우클릭으로 new를 눌러 animation resource file을 생성해주자.
fadein.xml
1
2
3
4
5
|
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
|
cs |
fadeout.xml
1
2
3
4
5
|
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
|
cs |
2. 전환 애니메이션을 해제하려면 '0'을 입력하면 된다.
1
|
overridePendingTransition(0, 0);
|
cs |
3. 근데 0을 하면 가려지는 액티비티가 검은 화면이 된다.
그게 싫고 그대로 가려지게 하고 싶으면 fadeout 대신 hold를 만들어서 쓰자.
hold.xml
1
2
3
4
5
|
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0" android:toXDelta="0"
android:duration="@android:integer/config_longAnimTime" />
|
cs |
4. 그런데 말입니다!
overridePendingTransition 메소드가 안 먹히는 경우가 있다.
그럴 때는
기기 설정 - 개발자 옵션에서
애니메이션 효과가 꺼짐으로 되어 있는지 확인하자.
'Android 개발 > android :: Tip' 카테고리의 다른 글
[안드로이드 Activity] 액티비티 화면 켜짐 유지 및 해제 코드 (Keep Screen On - 화면을 꺼지지 않게 유지하기) (0) | 2020.05.23 |
---|---|
[안드로이드 Animation] 애니메이션 딜레이 - 시간 지연 설정하기 (시작 delay 설정) (2) | 2020.05.22 |
[안드로이드 XML] 자동으로 코드 줄바꾸고 들여쓰기 (0) | 2020.04.04 |
[안드로이드 View] Textview 또는 Button 기본 여백 제거하기 (0) | 2020.04.03 |
[안드로이드] 플랫폼 버전별 API 레벨 및 버전코드 정리 (20.08.01 updated) (0) | 2019.11.11 |
[안드로이드 스튜디오] android studio 모듈(module) 삭제 방법 (0) | 2019.09.27 |
[안드로이드 스튜디오] android studio에서 모듈(Module) 추가 방법 (0) | 2019.09.27 |
[안드로이드 View] TextView 글자수 초과시 말줄임 (...) 표시 넣는 방법 (0) | 2019.09.27 |
댓글