2013-08-08 4 views
2

내 앱의 현재 흐름은 활동 A -> 활동 B -> 조각 B 활동 전환 애니메이션을 구현하려고합니다. 그래서 많은 게시물을 읽고 overpendingtransition() 사용에 대해 언급하고 거의 모든 게시물이 게시물에 언급 된 구현했습니다. 어떻게 든 애니메이션이 작동하지 않습니다. Android에서 맞춤 활동 전환 애니메이션

나는 안드로이드 2.2, 즉 sdkversion 8

작업이 필요 이것은 코드입니다 : 누군가도 나에게 안드로이드 개까지 활동 전환을 구현할 수있는 다른 방법을 제시 할 수 있다면

Activity A 
oncreate method 

Intent detailIntent = new Intent(this, WordDetailActivity.class); 
      detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
      detailIntent.putExtra(DbAdapter.KEY_ROWID, id); 
       startActivity(detailIntent); 
       overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 


@Override 
    protected void onPause() { 
     super.onPause(); 
     overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
    } 


Activity B 

    @Override 
    protected void onPause() { 
     // TODO Auto-generated method stub 
     super.onPause(); 
     overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
    } 

그것은 좋은 것입니다 2.2

+1

휴대 전화 설정에서 애니메이션이 사용 중지 된 휴대 전화가 활동 전환 애니메이션을 표시하지 않는다는 것을 알고 계시는지 궁금합니다. – roiberg

+0

이 문제였습니다. 고마워요 !! 어쨌든 내 앱을 통해 설정을 변경하면 모든 사람들이 애니메이션을 볼 수 있습니다. 또는 다른 방법으로 전환 애니메이션을 표시 하시겠습니까? – ambit

+0

@roiberg 문제를 해결할 것으로 보이는 답변을 추가하십시오. – talkol

답변

6

전화 실 거예요 그래서에 포함되지 않습니다 ... 활동 전이 애니메이션을 보여줍니다.

또한 사용자 설정을 변경할 수 없습니다.

+0

작업이 문제가되었습니다 .. 감사합니다 .. – ambit

1

대신 수행의 그것은 onResume()

@Override 
public void onResume() { 
    super.onResume(); 
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
} 
에서 할

이 로그가 충돌하는 경우

편집

Activity_A.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 

Activity_B.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 

편집과 같은 2

@Override 
public void overridePendingTransition(int enterAnim, int exitAnim) { 
    super.overridePendingTransition(enterAnim, exitAnim); 
    Log.d(LOG_TAG, "In overridePendingTransition"); 
} 

확인을 시도`minSdk = "5"를 사용하여 시도 우리는이 방법이 불리는 날씨를 알지 못하기 때문에 여부?

는 또한 자사의 히트 후 super.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

+0

활동 A 또는 B 또는 둘 다에서해야합니까? 내 minSdk가 8입니다. 작동하지 않습니까? – ambit

+0

모두 사용하십시오. –

+0

감사하지만 작동하지 않았습니다. – ambit

1

와 startActivity를 후를 제외하고 다른 곳에서도 쓸 필요를 super.overridePendingTransition(enterAnim, exitAnim);을 교체하지 않는 경우 detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);이 을 falg 제거하십시오 (A와 B 둘 다 내부를 놓고). 이렇게 작성하십시오. 자신의 애니메이션이 전화에서 작동하지 않은

Intent detailIntent = new Intent(this, WordDetailActivity.class); 

detailIntent.putExtra(DbAdapter.KEY_ROWID, id); 
    startActivity(detailIntent); 
this.overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out) 
+0

고마워하지만 그것은하지 않았다. – ambit

0
//annination indside fragment to translate fragment 

     getFragmentManager() 
      .beginTransaction() 
      .setCustomAnimations(R.animator.slide_in_right, 
        R.animator.slide_in_left_out,  
              R.animator.slide_in_left, 
        R.animator.slide_in_right_out) 
      .replace(R.id.linearlayout, new mFragment()) 
      .addToBackStack("fragments") 
      .commit(); 

    // add inside activity to translate activity 

Intent intent = new Intent(mContext, AbcActivity.class); 
      startActivity(intent); 
      overridePendingTransition(R.anim.slide_right_in, 
        R.anim.slide_left_out); 

    // put this inside OnBackPressed 
    overridePendingTransition(R.anim.slide_left_in, R.anim.slide_right_out);