최신 버전의 지원 라이브러리를 사용하여 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 속도에 따라 달라집니다. 다른 사람이 비슷한 결과를 발견 했습니까? 문서를 읽은 후 예상되는대로 애니메이션 속도가 장치 전반에 걸쳐 균일해질 수 있도록 설정하는 방법이 있습니까?