감지하도록 둘 FragmentA의 ChildFragments 및 B 다시 onResume을 ActivityA-> FragmentA 중의 천이 onAttach 비활성화 및 재 활성화를 할 숨겨 지거나 표시되며, 명시 적으로 해당 자식의 애니메이션을 비활성화하거나 활성화 할 수 있습니다.
@Override
public void onPause() {
super.onPause();
// If this fragment is being closed/replaced then disable animations
// in child fragments. Otherwise we get very nasty visual effects
// with the parent and child animations running simultaneously
ChildFragment f = (ChildFragment) getChildFragmentManager()
.findFragmentByTag(FRAGMENT_CHILD);
if (f != null) {
f.disableAnimations();
}
}
@Override
public void onResume() {
super.onResume();
// if this fragment is being opened then re-enable animations
// in child fragments
ChildFragment f = (ChildFragment) getChildFragmentManager()
.findFragmentByTag(FRAGMENT_CHILD);
if (f != null) {
f.enableAnimations();
}
}
하위 조각에서 애니메이션을 사용하거나 사용하지 않도록 설정하는 방법을 구현해야합니다. onCreateAnimation()
을 무시하고 애니메이션을 비활성화해야하는 경우 정적 애니메이션 (R.anim.hold
)을 사용하여이 작업을 수행합니다.
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="0"
android:duration="2000" />
당신이 어떤 활동이나 조각이에서 오는하고 그에 따라하여 FragmentTransaction을 설정하는 값을 유지 봤어 :
res/anim/hold.xml
로정적 애니메이션에 정의되어있다? 전환 할 때가 아니라면'ft.setCustomAnimations (FragmentTransaction.TRANSIT_NONE, FragmentTransaction.TRANSIT_NONE); '과 같습니다. FragmentTransaction을 지정하는 위치가 확실치 않아서 이것이 작동하는지 잘 모릅니다. – SvenT23