4

최신 버전의 지원 라이브러리를 사용하여 Android 버전 < 3.0을 실행하는 기기에서 단편을 사용할 수 있습니다. 모든 시간은 내가 그래서이 코드를 사용하여 않는 현재의 단편 전환 할 : 위의 XML에서 볼 수 있듯이XML로 정의 된 애니메이션의 지속 시간이 실제로 밀리 초입니까?

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate android:fromXDelta="-50%p" android:toXDelta="0" 
     android:duration="500"/> 
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" 
     android:duration="500" /> 
</set> 

: 여기

public void displayFragmentInMainView(Fragment f) { 
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 

    transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, 
      android.R.anim.slide_in_left, android.R.anim.slide_out_right); 
    transaction.replace(R.id.fragment_holder, f); 

    transaction.commit(); 
} 

하면 전환 애니메이션 중 하나를 정의하는 XML이다 , 애니메이션의 지속 시간은 500으로 설정됩니다. 개발자 문서에 따르면 여기에 지정된 단위는 ms (시간 단위)입니다.

나는 장치를 통해 애니메이션 기간이 다르다는 것을 테스트를 통해 알아 챘습니다. 이 기간 동안 ms 값을 지정하는 경우 왜이 경우입니까?

HTC 전설이 : (느린 CPU와 로우 엔드 폰, 안드로이드 2.3.3) 애니메이션이 원활하고 지속

저는 여기에 테스트 한 장치 및 그 결과 (주관적)입니다 정확히 내가 원하는대로.

삼성 갤럭시 S : (중간 범위의 CPU, 안드로이드 2.1) 애니메이션이 다소 고르지 및 에뮬레이터

전설에보다 빠르게 진행됩니다 (쿼드 코어에서 실행되는 아이맥, 안드로이드 4.0) 애니메이션은 매우 빠르며 때로는 너무 빠르기 때문에 빨리 볼 수 없습니다.

이 시간을 기준으로 볼 때 지속 시간은 실제로 ms로 측정되지는 않지만 CPU 속도에 따라 달라집니다. 다른 사람이 비슷한 결과를 발견 했습니까? 문서를 읽은 후 예상되는대로 애니메이션 속도가 장치 전반에 걸쳐 균일해질 수 있도록 설정하는 방법이 있습니까?

답변

0

안드로이드는 XML 또는 자바 코드에서 사용할 수있는 3 개 정수 자원

android.R.integer.config_shortAnimTime 
android.R.integer.config_mediumAnimTime 
android.R.integer.config_longAnimTime 

을 정의합니다.