3

このように設定された ProgressDialog へのカスタム アニメーションがあります。

pd.setIndeterminateDrawable(c.getResources().getDrawable(R.anim.progress_animation));

は次のprogress_animationようになります。

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

    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="8"
        android:useLevel="false" >
        <size
            android:height="48dip"
            android:width="48dip" />

        <gradient
            android:centerColor="#4c737373"
            android:centerY="0.50"
            android:endColor="#E66A0F"
            android:startColor="#4c737373"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</animated-rotate>

これにより、オレンジ色の回転ホイールが表示されますが、これは ProgressDialog のデフォルトの回転ホイールよりも「遅い」か、より遅れているようです。android:toDegrees360 から 358 に設定しようとしましたが、うまくいきません。ハードウェアアクセラレーションも有効にしました。このアニメーションをよりスムーズに、またはより速くする方法はありますか?

ありがとう!

4

3 に答える 3

5

「animated-rotate」の代わりに「rotate」を使用し、android:toDegrees を変更すると、速度が向上します。

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@android:anim/linear_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="2160" />
于 2014-07-29T04:15:45.477 に答える
2

これは私のために働く:

drawable(created) に my_progress_indeterminate.xml を作成します。load_spool.png は回転するイメージです。

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

レイアウト:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

 <ProgressBar
    android:id="@+id/progressBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminateDrawable="@drawable/my_progress_indeterminate" />

 </LinearLayout>
于 2014-08-31T08:29:33.197 に答える
1

android:toDegrees="1080"を試してみてください私の場合はうまくいきます....これを試してみてください

于 2013-01-08T10:51:55.960 に答える