티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
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.
AndroidManifest 파일에서 Intent 플래그 FLAG_ACTIVITY_NO_ANIMATION을 올바르게 사용하는 방법은 무엇인가요? 문제가 흔치 않은 것 같지만 좋은 예제나 해결책을 찾지 못했습니다.
<intent-filter>
<data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
</intent-filter>
However no error is reported by compliator, but data
isn't correct. I just want to disable animation in case switching between activities. I can use getWindow().setWindowAnimations(0);
in onCreate or onResume rather but using flag is better way, isn't it?
컴파일러에서는 오류가 보고되지 않지만 데이터가 올바르지 않습니다. 액티비티 간 전환 시 애니메이션을 비활성화하고 싶습니다. onCreate나 onResume에서 getWindow().setWindowAnimations(0);을 사용할 수도 있지만, 플래그를 사용하는 것이 더 좋은 방법이 아닐까요?
I can use also in code:
또한 코드에서도 다음과 같이 사용할 수 있습니다.
Intent intent = new Intent(v.getContext(), newactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
But I want to use this flag in Android Manifest. To disable animation also in case returning from second activity to first.
하지만 첫 번째 액티비티에서 두 번째 액티비티로 돌아갈 때도 애니메이션을 비활성화하려면 이 플래그를 Android Manifest에서 사용하려고 합니다.
높은 점수를 받은 Solution
You can create a style,
style을 만들어서,
<style name="noAnimTheme" parent="android:Theme">
<item name="android:windowAnimationStyle">@null</item>
</style>
and set it as theme for your activity in the manifest:
다음과 같이 manifest에서 activity의 theme으로 설정할 수 있습니다.
<activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme">
</activity>
You can also define a style to specify custom entry and exit animations. http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation
또한 진입 및 이탈 애니메이션을 지정하는 사용자 지정 style을 정의할 수도 있습니다.
http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation
가장 최근 달린 Solution
After starting intent you can use this code :
Intent를 시작한 후에는 다음 코드를 사용할 수 있습니다.
Intent intent = new Intent(Activity1.this, Activity2.class);
overridePendingTransition(0, 0);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
If used, intent will work with no animations or transitions
이렇게 사용하면 애니메이션이나 전환 없이 인텐트가 작동합니다.
출처 : https://stackoverflow.com/questions/6972295/how-to-switch-activity-without-animation-in-android
'개발 > 안드로이드' 카테고리의 다른 글
merge tag를 사용한 레이아웃 안드로이드 스튜디오에서 미리보기 (0) | 2023.02.10 |
---|---|
액티비티 없는 객체에서 리소스 컨텐츠 가져오기 (0) | 2023.02.10 |
Nested RecyclerView에서 wrap_content가 동작하지 않을 때 문제 해결하기 (0) | 2023.02.09 |
텍스트를 공유하는 모든 앱에 인텐트를 통해 텍스트 공유하기 (0) | 2023.02.08 |
NotificationCompat.Builder 제대로 사용하기 (0) | 2023.02.08 |