0

ネイティブのAndroidの進行状況インジケーターを再構築し(おそらく再構築する必要さえありません)、リスト項目のアイコンとして表示したいと思います。私はこの例に従い、ネイティブのスピナーと一致しない重いパフォーマンスの食べるアニメーションに行き着きました。コードには、これらの問題を引き起こすと思われる「LinearInterpolator」があります。

今、私は独自の Interpolar を作成し、私のニーズの 1 つを満たしました。それは、ステップを 12 にクオンタイズすることです。

しかし、私はまだ大きなパフォーマンス上の問題を抱えています。UiThreadでは、データのダウンロードと解析を目的としたバックグラウンド スレッドを実行できなくなりました。リストにいくつかのスピナーを表示していることに注意してください。また、リストアダプターでインターポレーターをクラス変数として設定しようとしました。したがって、すべての listView がこの Interpolator を利用できます。

if(imageViewIcon != null) {
  RotateAnimation anim = new RotateAnimation(0f, 360f, 51f, 51f);
  anim.setInterpolator(new Interpolator() {

    @Override
    public float getInterpolation( float input ) {
      return (float) Math.floor((double)input*10)/12;
    }
  });
 // anim
  anim.setRepeatCount(Animation.INFINITE);
  anim.setDuration(1000);


  // Start animating the image
  imageViewSpinner.startAnimation(anim);


}

アップデート

最後に、私とまったく同じことを行う ProgressBarWidget を見つけました。ただし、まだパフォーマンスは高くありません。(そのほうがいいですけど)

4

1 に答える 1

3

ウィジェット「ProgressBar」を使用します。最も単純なバージョンは、ラウンド スピナーです。

于 2010-10-24T20:31:34.153 に答える