0

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

スライドイン:

<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>

スライドアウト:

<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 を使用しています。任意のハードウェア アクセラレーションを使用できますか?それとも、コンセプト全体に対するアプローチを変更する必要がありますか?

ありがとうバンドル

4

2 に答える 2

2

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/> がマニフェスト ファイルにありませんでしたが、追加するとアニメーションが非常にスムーズになります。

于 2012-01-11T14:32:10.010 に答える
0

2D アニメーションのみです。これは、IE7 Web ブラウザの Javascript と同じであることを意味します。

アニメーションを高速化するには、(OpenGL) RenderScript を使用して、API の < v14 (ICS) を使用して 3D を介して HW Accel を取得するしかありません。

于 2012-01-10T14:40:52.970 に答える