일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- Rxjava Observable
- 자바 다형성
- 안드로이드 레트로핏 사용법
- jvm 작동 원리
- 멤버변수
- 플러터 설치 2022
- rxjava cold observable
- android retrofit login
- 안드로이드 라이선스
- 서비스 vs 쓰레드
- ar vr 차이
- 클래스
- android ar 개발
- rxjava hot observable
- 객체
- 서비스 쓰레드 차이
- 2022 플러터 안드로이드 스튜디오
- 2022 플러터 설치
- 스택 큐 차이
- jvm이란
- 큐 자바 코드
- 안드로이드 라이선스 종류
- 안드로이드 유닛 테스트 예시
- ANR이란
- 안드로이드 레트로핏 crud
- 스택 자바 코드
- 안드로이드 os 구조
- rxjava disposable
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
- Today
- Total
나만을 위한 블로그
[Android] 액티비티 전환 시 애니메이션 효과 없애기 본문
앱을 만들다 보면 인스타처럼 누를 때마다 화면 전환효과 없이 바로바로 나오게 하고 싶은 경우가 있다.
이는 프래그먼트를 써서 어느 정도 해결할 수 있지만 액티비티도 내 맘대로 다루기 어려운데 프래그먼트라니?
이런 경우를 생각한 것인진 몰라도 안드로이드는 액티비티의 화면 전환효과를 없앨 수 있는 장치들을 마련해뒀다.
검색하면 방법은 다양하지만 여기선 간단한 방법 2개만 알아본다. 인텐트를 쓰는 법과 액티비티 종료 후 이전 액티비티로 돌아갈 때 호출되는 onPause()를 활용한 방법이다.
1. 인텐트
A 액티비티에서 B 액티비티로 이동한다고 가정한다. 그럼 코드는 이렇게 될 것이다.
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
이 때 A에서 B로 이동할 때 화면 전환효과를 없애고 싶다면, startActivity() 호출 전에 코드 하나를 딱 넣어주면 된다.
Intent intent = new Intent(A.this, B.class);
intent.addFlags(Intent.FLAT_ACTIVITY_NO_ANIMATION);
startActivity(intent);
A와 B에 각각 자신이 만든 액티비티명을 적어놓고 앱을 빌드해서 확인하면 다음 액티비티로 넘어갈 때 화면 전환효과 없이 넘어가는 걸 볼 수 있다.
2. onPause()
B로 넘어갈 때 화면 전환효과 없앴으니 다시 A로 되돌아올 때 보이는 화면 전환효과도 없앨 수 있지 않을까? 가능하다.
액티비티의 생명주기 중 onPause()라는 게 있다. 설명은 생략하고 이 함수의 안에 아래의 함수를 적어주면 된다.
당연한 것이지만 onPause()의 재정의는 B(호출된(이동된) 액티비티)에서 이뤄져야 한다.
onPause() {
super.onPause();
overridePendingTransition(0, 0);
}
onPause()를 재정의하고 안에 볼드체로 적힌 함수 하나만 넣어주면, 이전 화면으로 되돌아갈 때 생기는 화면 전환효과도 없어진다.
onDestroy()에는 넣지 말자. 여기는 로그를 제외한 어떤 함수를 넣어도 별 쓸모가 없다.
부드럽게 넘어간다는 느낌은 들지 않지만 거슬리던 화면 전환효과를 없애는 것이라도 원하는 사람이라면 이 방법을 쓰면 조금은 해결될 것이다.
'Android' 카테고리의 다른 글
[Android] 카카오 로그인 API의 회원탈퇴 후 백버튼 누를 시 앱이 꺼지는 게 아닌 로그인 후 화면이 나오는 현상 해결 (0) | 2020.03.07 |
---|---|
[Android] TTS 사용법 (0) | 2020.03.05 |
[Android] Lottie(로띠) 사용법 (0) | 2020.03.03 |
[Android] 안드로이드 Glide로 GIF 파일 재생하기 (0) | 2020.02.21 |
[Android] Unable to add window -- token null is not valid; is your activity running? 에러 해결 (0) | 2020.02.21 |