2012-01-10 11 views
0

私はViewAnimatorAndroid - 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

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/> 私のマニフェストファイルには欠けていましたが、一度アニメーションがスムーズに追加されました。

0

その唯一の2Dアニメーションは、これはIE7のWebブラウザでJavaScriptのようであることを意味します。

より速いアニメーションを得るには、APIの< v14(ICS)を使用しているときに、(OpenGL)RenderScript を使用してHW Accel 3Dを取得する方法があります。

+0

ハードウェアアクセラレーションは実際にハニカムから2Dアニメーションで動作します。ただし、すべての描画メカニズムをサポートしているわけではありません。彼がAPIレベル8をターゲットにしている場合は、まったく役に立たないでしょう。 HoneycombのターゲットAPIをレベル11に設定し、ハードウェアアクセラレーションを有効にし、最小APIレベルを8に設定することができます。コードが2.2であれば、ハードウェアアクセラレーションを持つデバイスとそれ以外のデバイス場合によってはわずかに性能が低下したプログラムを使用してください。 – DeeV

+0

面白い...もう少し詳しいことができますか? –

+0

アニメーションがスムーズに追加された後、マニフェストファイルからアンドロイド:targetSdkVersion = "8" />が見つからなかったため、その方向性のおかげで

関連する問題