Android -ViewAnimatorを使用する場合、アニメーションが遅くなり、ハードウェアアクセラレーションを使用することは可能ですか?
-
26-10-2019 - |
質問
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);
および次のXML
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を使用します。ハードウェアアクセラレーションを使用できますか、それともコンセプト全体のアプローチを変更する必要がありますか?
バンドルに感謝します
解決
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
マニフェストファイルに欠落していましたが、アニメーションが非常にスムーズに追加されると、
他のヒント
その2Dアニメーションのみであり、これはIE7 WebブラウザーのJavaScriptのようなものであることを意味します。
より高速なアニメーションを取得するために、唯一の方法は、APIの<V14(ICS)を使用するときに3Dを介してHW Accelを取得する(OpenGL)レンダスクリプトでそれを行うことです。
所属していません StackOverflow