したがって、私はこの1つのように、配列変数を持って、3つのプログレスバーが含まれていますObjetctAnimatorは、私は、カスタムビューを構築しています
float[] progress = new float[3];
そして私は「ObjectAnimator」を使用して、特定の進捗エントリを更新します。
public void setProgress(int index, float progress) {
this.progress[index] = (progress<=100) ? progress : 100;
invalidate();
}
public void setProgressWithAnimation(int index, float progress, int duration) {
PropertyValuesHolder indexValue = PropertyValuesHolder.ofInt("progress", index);
PropertyValuesHolder progressValue = PropertyValuesHolder.ofFloat("progress", progress);
ObjectAnimator objectAnimator = ObjectAnimator.ofPropertyValuesHolder(this, indexValue, progressValue);
objectAnimator.setDuration(duration);
objectAnimator.setInterpolator(new DecelerateInterpolator());
objectAnimator.start();
}
が、私はこの警告を取得しています:
私もセッターで試してみましたが、アレイ(setProgress (float[] progress)
)が含まれているが、それでもエラーました:Method setProgress() with type float not found on target class
をだから私ここに関連するメソッドです「、LO後
おかげ
単に 'ObjectAnimator#ofInt(オブジェクトのターゲット、文字列propertyNameの、int型を使用します。.. 。値) ' – pskink
@pskink。ありがとうございますが、私はすでにそれを試してみました: 'メソッドsetProgress()は、対象のクラスにfloat型が見つかりませんでした '、申し訳ありません。 – AsfK