2013-06-19 3 views
0

FragmentPager가 포함 된 액티비티에 단편을 연결할 때 맞춤형 애니메이션을 재생하고 싶습니다. 불행히도 FragmentTransaction.setCustomAnimations(int, int)을 사용하는 일반적인 방법은 부분적으로 만 작동합니다. 관계없이 내가 밖으로 애니메이션을하거나 애니메이션의 전환이 표시됩니다. 이 경우 FragmentAdapter를 열고 닫는 중 애니메이션

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
    transaction.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout); 
    transaction.add(R.id.fragmentSpace, hostingFragment, CURRENT_FRAGMENT); 
    transaction.addToBackStack(null); 
    transaction.commit(); 

바로 표시되는 새로운 단편 애니메이션으로, 기존의 조각이 새로 하나 연결에서 볼 수 유지 : 여기

는 내가 지금까지 가지고있는 것입니다. 그와 함께 백 스택이 팝되면 애니메이션이 재생되지 않습니다.

transaction.add(..)transaction.replace(..)으로 바꾸면 기본 조각을 제거하는 데 도움이되지만 출력 애니메이션이 표시되지 않는 문제는 여전히 남아 있습니다. 이 경우 기본 조각이 사라집니다. 최소한 팝업 애니메이션은 .replace 경우에 표시됩니다. 예제 프로젝트를 참조하십시오

: github는 당신이 조각 거래에 remove() 또는 replace()를 사용해야합니다

답변

0

(애니메이션 지점)은 다른 조각을 제거합니다.

+0

위에서 언급 한 것처럼 transaction.replace()도 도움이되지 않습니다. 대체 된 조각의 출력 애니메이션을 표시하지 못합니다. 단지 콤보 remove (Fragment) 및 add (Fragment)를 테스트했지만 실제로 replace를 호출하는 것과 동일합니다. – Paul

관련 문제