2012-01-26 21 views
6

これは、私は、画像を回転させる手段として、ImageViewのにこれを適用しています私のXMLアニメーション私はImageViewのを回転させるためにAndroidのアニメーションを使用していますが、動きが非常に途切れ途切れである

<?xml version="1.0" encoding="utf-8"?> 
<rotate 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="0" 
    android:toDegrees="360" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="3000" 
    android:repeatCount="infinite" 
    android:interpolator="@android:anim/linear_interpolator" /> 

です。しかし動きは非常に不安定です。画像が回転するたびに、互いに180度離れた回転の2つの点でスキップするように見えます。私はこれが起こっている理由を見ることができず、誰もがこの難しさに遭遇して修正を見つけましたか?

+0

0〜359度までお試しください。 – Noah

+0

違いがありませんでした:/ –

+1

エミュレータまたは実際のデバイスで試していますか?中間からハイエンドのデバイスでスムーズでなければなりません。 –

答えて

0

異なる補間器を設定してみてください。 FYIでは、アンドロイドでアニメーションを作成するときに使用されるデフォルトの補間子は線形補間ではなく、AccelerateDecelerateInterpolatorです。

+0

滑らかな線形回転が必要です。私は回転ホイールにアニメーションをつけています –

+0

ああ、これを試してみましたが、どちらもうまくいきませんでした –

+0

おそらく他の効果と一緒に回転効果を適用していますか? (つまり、効果があるかどうか、それは間違いなく問題になる可能性があります)。 – asenovm

0

私はあなたが正しい結果を得なかった理由を知りません。これは私

のために働くあなたは

android:interpolator="@android:anim/linear_interpolator". 

それとも、例えば、自分のプロジェクトで独自のXML補間ファイルを作成することができますを使用してアニメーションのXMLファイルから内蔵のandroid.R.anim.linear_interpolatorを使用することができます

<?xml version="1.0" encoding="utf-8"?> 
<linearInterpolator xmlns:android="http://schemas.android.com/apk/res/android" /> 

そして、あなたのアニメーションXMLに追加します:

android:interpolator="@anim/linear_interpolator" 

android:toDegrees="359" 

android:toDegrees="360" 

を使用

のres /アニメーション/ linear_interpolator.xmlという名前を付けます360と0度として

同じです

+0

あなたの問題は解決しましたか? – Sameer

-1

この描画可能でxmlファイルを作成し、そこに描画可能に置くのコードは以下の通りですしようと、名前、このファイルmy_progress_indeterminate.xml:

<?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" 
android:drawable="@drawable/your_rotating_image" 
android:pivotX="50%" 
android:pivotY="50%" /> 

申し訳ありませんが、あなたは持っています画像はイメージ図などの静的同じであれば、このようにプログレスバーでそれを置くことは簡単であるだけで、あなたのレイアウトxmlファイルに次のように記述し、このための任意の異なる符号化を行う必要がありいけない:

<ProgressBar android:indeterminateDrawable="@drawable/my_progress_indeterminate" android:layout_height="100dp" android:layout_width="100dp"></ProgressBar> 
+0

画像ビューが必要な場合や、ビュー上でアニメーションIDだけを実行する必要がある場合はどうすればよいですか? – desgraci

0

エミュレータは常に途切れ途切れであります。デバイスでデバッグを試みてください。回転しない場合は回転を速くします。

0

このローテーションが非常に重要な場合は、UIの非常に重要な部分だと思います。

このような状況では、問題を解決するための簡単なOpenGLの実装に興味があるはずです。

http://www.andengine.org/を使用することをお勧めします。これは実装が簡単で簡単です。

AndEngineExamplesで、あまりにも多くのコードの細かいサンプルを見つけることができます!

関連する問題