Android - медленная анимация при использовании ViewAnimator, возможно ли использовать аппаратное ускорение? - PullRequest
0 голосов
/ 10 января 2012

У меня есть следующий код, который добавляет представления в ViewAnimator

View step1 = View.inflate(activity, R.layout.step_1, null);
View step2 = View.inflate(activity, R.layout.step_2, null);
viewAnimator.addView(step1);
viewAnimator.addView(step2);
viewAnimator.setInAnimation(activity, R.anim.slide_in);
viewAnimator.setOutAnimation(activity, R.anim.slide_out);

и следующие xmls

slide_in:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <translate
            android:fromXDelta="100%" android:toXDelta="0%"
            android:fromYDelta="0%" android:toYDelta="0%"
            android:duration="700" />
</set>

slide_out:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <translate android:fromXDelta="0%" android:toXDelta="-100%"
               android:fromYDelta="0%" android:toYDelta="0%"
               android:duration="700"/>
</set>

Теперь все работает нормально, однако производительность анимации выглядит медленной и медленной по сравнению с родной анимацией на моем телефоне (Samsung galaxy S).

Я использую API уровня 8, могу ли я использовать любое аппаратное ускорение или мне следует изменить свой подход ко всей концепции?

Спасибо за связку

Ответы [ 2 ]

2 голосов
/ 11 января 2012

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/> отсутствовал в моем файле манифеста, после добавления анимация стала очень плавной.

0 голосов
/ 10 января 2012

Это только 2D анимация, это означает, что это как в Javascript в браузере IE7.

Чтобы получить более быструю анимацию, единственный способ сделать это с (OpenGL) RenderScript получить HW Accel через 3D при использовании API

...