FLAG_ACTIVITY_NO_ANIMATION
AndroidManifest 파일에서 Intent 플래그 를 올바르게 사용하려면 어떻게 해야합니까? 내 문제가 사소한 것이라고 생각하지만 좋은 예나 해결책을 찾을 수 없습니다.
<intent-filter>
<data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
</intent-filter>
그러나 compliator는 오류를보고 data
하지 않지만 올바르지 않습니다. 액티비티 간 전환시 애니메이션을 비활성화하고 싶습니다. getWindow().setWindowAnimations(0);
대신 onCreate 또는 onResume에서 사용할 수 있지만 플래그를 사용하는 것이 더 좋습니다.
코드에서도 사용할 수 있습니다.
Intent intent = new Intent(v.getContext(), newactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
그러나 Android Manifest 에서이 플래그를 사용하고 싶습니다. 두 번째 활동에서 첫 번째 활동으로 돌아 오는 경우에도 애니메이션을 비활성화합니다.
답변
스타일을 만들 수 있습니다.
<style name="noAnimTheme" parent="android:Theme">
<item name="android:windowAnimationStyle">@null</item>
</style>
매니페스트에서 활동의 테마로 설정하십시오.
<activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme">
</activity>
사용자 정의 입력 및 종료 애니메이션을 지정하는 스타일을 정의 할 수도 있습니다.
http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation
답변
컨텍스트가 활동 인 경우 overridePendingTransition 을 호출 할 수 있습니다 .
startActivity (Intent)의 특징 중 하나 직후에 호출하거나 다음에 수행 할 명시 적 전환 애니메이션을 지정하기 위해 완료하십시오.
따라서 프로그래밍 방식으로 :
this.startActivity(new Intent(v.getContext(), newactivity.class));
this.overridePendingTransition(0, 0);
답변
이 코드를 사용해보십시오
this.startActivity(new Intent(v.getContext(), newactivity.class).addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION));
답변
전환하고 싶지 않은 모든 활동 에서이 작업을 수행 할 수도 있습니다.
@Override
public void onPause() {
super.onPause();
overridePendingTransition(0, 0);
}
나는 당신이 당신의 활동 스타일을 망칠 필요가 없기 때문에이 접근법을 좋아합니다.
답변
이 예제는 사용 방법이나 사용 방법에 대한 설명이 아니지만 사용 FLAG_ACTIVITY_NO_ANIMATION
하지 않는 방법에 대한 답변입니다.Activity
질문 제목에서 요청한대로 전환 애니메이션 에 대한 답변입니다.
답변
다음은 minSdkVersion 14
삽입해야하는 한 낮은 라이너 솔루션입니다 res/styles.xml
.
<item name="android:windowAnimationStyle">@null</item>
이렇게 :
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="android:windowAnimationStyle">@null</item>
</style>
...
</resources>
건배!
답변
테마 스타일의 선은 제대로 작동하지만 애니메이션이 흰색 화면으로 바뀝니다. 특히 느린 전화에서는 정말 짜증납니다. 따라서 즉각적인 전환을 원한다면 이것을 테마 스타일로 사용할 수 있습니다.
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDisablePreview">true</item>