web-dev-qa-db-ja.com

アンドロイドで回転速度を上げる方法は?

描画可能な画像があります。プログレスバーのように画像を回転させます。

<rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:pivotX="50%" Android:pivotY="50%" Android:fromDegrees="0"
Android:toDegrees="360" Android:drawable="@drawable/spinner_white_48" />

回転速度を上げたい?そのために、どの属性を使用する必要がありますか?

42
Praveen

アニメーションを実行する duration および repeatCount を設定します。

5
Robby Pond

継続時間や繰り返し回数を設定しても、不確定なProgressBarアニメーションは役に立ちませんでした。追加のループを作成するには、toDegreesを増やす必要がありました。

<rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:drawable="@drawable/ic_indeterminate_progress"
    Android:duration="1"
    Android:fromDegrees="0"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time-->
129
DustinB

this link によると:

不確定プログレスバーの回転速度は4秒ごとに1回転に固定されており、ドローアブルXMLのduration属性を変更しても効果はありません。高速化したい場合は、toDegrees属性を360の倍数に変更できます。

  • 720は2秒で1回転します
  • 1080は1.33秒で1回転します
  • 1440は1秒で1回転します

また、ProgressBarにindeterminateDurationを使用することもできます。

38

progress.xmlにコードを追加します

 <rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:fromDegrees="0"
    Android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time-->
10
Mr_Moradi
Android:duration="required value in ms"
3