어떻게 대한 단편 애니메이션 반전하려면 박스타크?

생각해봤죠 뒤로를 버튼을 누를 때 시스템 다시그것들을 역동기화 박스타크 대한 단편 애니메이션을 사용할 때 다음 코드를 사용하여:

FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out);
ft.replace(R.id.viewContainer, new class(), "layout").addToBackStack(null).commit();

답변 6 개

[안드로이드 사용자 정의 애니메이션 붽뎄] [1] 에 따르면:

변경:

ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out);

다음과 같이 사용된다.

ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out, R.anim.hyperspace_in, R.anim.slide_out );

그리고 이제 박스타크 애니메이션 - 역뱡향으로!!

[1]: http://developer.android.com/reference/android/app/FragmentTransaction.html # 세스쿠스토메니마티언스 (int, %, %20int 20int 20int, %)

AreusAstarte
그는 7년 전 댓글을 달았습니다
2

브트와, 그러니까말이야 isn& # 39 이 질문과 대답을 해줄 수도 있지만, t 에 연결된 링크를 설명하는 쿠스토메니마티언스 내게 뭔가 조금? P

mDroidd
그는 7년 전 댓글을 달았습니다
2

아리우스 아스테르트: # 세스쿠스토메니마티언스 (http://developer.android.com/reference/android/app/FragmentTransaction.html) 참조 (int, int, int, int)

user3497504
그는 5년 전 댓글을 달았습니다
0

실제로 사용하고 있지만, 컨텐츠 이전됩니다 아아아안녀어엉 im 정상적으로 작동하는 뒤로를 누를 때 가서 그냥 사라지는 아니마테링 뷰 배경을 이전 부분 뿐만 아니라, 이를 방지하기 위해 모든 방법을 사용하여 상부 프레보리우스 수준들과?

올바른 사용 애니메이션 같이 일하는 사용한 다음 그 매력

  • slide_in_left.xml *

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime" >
    <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:propertyName="x"
        android:valueFrom="1000"
        android:valueTo="0"
        android:valueType="floatType" />
</set>

  • slide_in_right.xml *

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime" >

    <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:propertyName="x"
        android:valueFrom="0"
        android:valueTo="1000"
        android:valueType="floatType" />

</set>

  • slide_out_left.xml *

   <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime" >

    <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:propertyName="x"
        android:valueFrom="0"
        android:valueTo="-1000"
        android:valueType="floatType" />

</set>

  • slide_out_right.xml *

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime" >

    <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:propertyName="x"
        android:valueFrom="-1000"
        android:valueTo="0"
        android:valueType="floatType" />

</set>

그러면 다음과 같은 부분 활용하면서

setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left,
                                R.anim.slide_out_right, R.anim.slide_in_right)

또 협력했습니다 100%

w3bshark
그는 5년 전 댓글을 달았습니다
2

이렇게 하면 안될 경우 사용할 경우 관리자 또는 조각 조각 조각 지원부에서는 연장시킵니다 support 버전니다.

Daniel Shatz
그는 4년 전 댓글을 달았습니다
0

애니메이션 '작업' 와 '조각' 에서 볼 수 있는 방법을 사용하여 프레이크망만거 @w3bshark 등 지원 라이브러리?

w3bshark
그는 4년 전 댓글을 달았습니다
2

대신 로비치아니마토스 @danielshatz 번역 사용해야 합니다. 예를 들어, slide_in_left.xml 다음과 같습니다. '&lt 변환하기에 안드로이드 프롬스델타 = &quot, 100% "; 안드로이드 스트라토프스트 = &quot 25"; 안드로이드 토스델타 = &quot 0"; /&gt, '이 슬라이드에서는 대답: https://stackoverflow.com/a/5151774/1738090

techtinkerer
그는 4년 전 댓글을 달았습니다
1

나는 이 아웃해야 하고 (의 마시멜로 디바이스입니다 - 일부러 다른 버전을 시도하시겠습니까). 이 일을 못함. 최종 프레이크망트란스카션 스베긴트란스카션 프레이크망트란스카션 = 제프레이크망만거 () ();

프레이크망트란스카션.세스쿠스토메니마티언스 (R. anim.enter_from_right R.anim.exit_to_left, R. anim.enter_from_left, R.anim.exit_to_right); 프레이크망트란스카션드레프리스 (R. id.fl_right_container, 데일프레이크망); 프레이크망트란스카션드레프리스 (R. id.fl_left_container, 서브카테고리스프레이크망, TestActivity.TAG_SUBCATEGORIES_FRAGMENT); 프레이크망트란스카션스코미트 ();

저의 경우는

ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, 
                       R.anim.slide_in_right, R.anim.slide_out_left);

완벽한 애니메이션 만들 것이라고 주장했다.

  • slide_in_right *

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="50%p" android:toXDelta="0"
               android:duration="@android:integer/config_mediumAnimTime"/>
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
           android:duration="@android:integer/config_mediumAnimTime" />
</set>

  • slide_out_left *

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="-50%p"
               android:duration="@android:integer/config_mediumAnimTime"/>
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
           android:duration="@android:integer/config_mediumAnimTime" />
</set>

.setCustomAnimations(R.animator.fragment_fade_in,
        R.animator.fragment_fade_out,
        R.animator.fragment_fade_p_in,
        R.animator.fragment_fade_p_out)

위의 대체하십시오 호스트당:

mFragmentManager.beginTransaction()
    .setCustomAnimations(R.animator.fragment_fade_in,
            R.animator.fragment_fade_out,
            R.animator.fragment_fade_p_in,
            R.animator.fragment_fade_p_out)
    .replace(R.id.main_container, FragmentPlayerInfo.getInstance(data))
    .addToBackStack(FragmentPlayerInfo.TAG)
    .commit();

Wtower
Wtower
그는 4년 전 댓글을 달았습니다
1

꼭 이래야겠어요 추가할 수 있는 방법에 대한 설명을 추천합니까 권장안을 도움이 됩니다.

TarikW
그는 4년 전 댓글을 달았습니다
2

왜 이 일을 잘 모르겠습니다 (: 하지만 후에 추가될 때 굈 '와' 애니메이션 ',' 아다토백스타크 협력했습니다 않습니다.

MD Husnain Tahir
그는 4년 전 댓글을 달았습니다
2

하지만 이 약어입니다 @tarikw i& # 39 m, 말 바꾸기 전에 아다토백스타크 메서드을 세스쿠스토메니마티언스 호출하십시오 주문하십시오 할 중요한 역할을 한다

이는 트랜잭션까지 언급한 부분 클래스.

/**
     * Set specific animation resources to run for the fragments that are
     * entering and exiting in this transaction. The <code>popEnter</code>
     * and <code>popExit</code> animations will be played for enter/exit
     * operations specifically when popping the back stack.
     *
     * @param enter An animation or animator resource ID used for the enter animation on the
     *              view of the fragment being added or attached.
     * @param exit An animation or animator resource ID used for the exit animation on the
     *             view of the fragment being removed or detached.
     * @param popEnter An animation or animator resource ID used for the enter animation on the
     *                 view of the fragment being readded or reattached caused by
     *                 {@link FragmentManager#popBackStack()} or similar methods.
     * @param popExit An animation or animator resource ID used for the enter animation on the
     *                view of the fragment being removed or detached caused by
     *                {@link FragmentManager#popBackStack()} or similar methods.
     */
    @NonNull
    public abstract FragmentTransaction setCustomAnimations(@AnimatorRes @AnimRes int enter,
            @AnimatorRes @AnimRes int exit, @AnimatorRes @AnimRes int popEnter,
            @AnimatorRes @AnimRes int popExit);

그래서 결국 이와 같은 방법을 사용할 수 있습니다.

 mFragmentManager.beginTransaction()
                        .replace(R.id.container, fragment)
                        .setCustomAnimations(R.anim.slide_left,//enter
                                             R.anim.slide_out_left,//exit
                                             R.anim.slide_right,//popEnter
                                             R.anim.slide_out_right)//popExit
                        .addToBackStack(fragment.toString())
                        .commit();

이 작품은 가져다줄래요!! 이 코드 조각을! 이 코드를 사용하여 활동을 하려면 처음부터 삭제하시겠습니까 그레이스티비티 () ','!!

getActivity().getSupportFragmentManager()
        .beginTransaction()
        .setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.fade_out,android.R.anim.slide_in_left, android.R.anim.fade_out)
        .replace(R.id.fragment_container, new YourFragment)
        .addToBackStack(null)
        .commit();
당신의 행운을 빕니다!!