티스토리 뷰

반응형

안드로이드에서 기본적으로 Intent를 만들어 startActivity하면, 디폴트값으로 설정된 애니메이션과 함께 액티비티가 이동된다.

 

개발하다보면, 가끔 애니메이션없이 화면만 바뀌는 듯한 효과를 주고 싶을 때가 있다.

바로 본론으로 들어가보자.

 

보통의 방법으로는 Manifest.xml에 Intent Filter를 설정해주거나,

 <intent-filter>
     <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
 </intent-filter>

 

코드에서 Intent를 생성할때, Flag를 추가하여 이동한다.

val intent = Intent(context, NextActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
startActivity(intent)

 

또는, 다음과 같이 액티비티 시작시에 onCreate 또는 onResume 에서 설정해주는 방법도 있다.

override fun onResume() {
    super.onResume()
    window.setWindowAnimations(0)
}

 

 

반응형

 

startActivity를 실행하면서 설정해주는 방법도 존재하는 듯하다.

val intent = Intent(context, NextActivity::class.java)
startActivity(intent)
overridePendingTransition(0, 0)

 

이 외에도 스타일로 지정하고, 공통적으로 사용하는 방법도 존재한다.

<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDisablePreview">true</item>

 

다양한 방법이 존재하는 듯 하니, 지원하는 버전에 따라, 상황에 따라 맞게 사용하면 되는듯 하다.

 

 


 

- Android에서 애니메이션 없이 활동을 전환하는 방법은 무엇입니까?

https://stackoverflow.com/questions/6972295/how-to-switch-activity-without-animation-in-android

 

How to switch activity without animation in Android?

How can I use properly the Intent flag FLAG_ACTIVITY_NO_ANIMATION in AndroidManifest file? I supose my problem is trivial, but I can't find good example or solution to it. <intent-filter>...

stackoverflow.com

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함