ダウンロード用のボタンがあるリストビューを使用しています。
バックグラウンドのダウンロードプロセスが機能するまで、クリックイベントでボタンを回転させたいです。
回転は正常に機能しますが、1 サイクルが完了すると多少の遅延が発生します。
主な問題は、ボタンがアニメーションしているときにユーザーがリストをスクロールすると、別の行にある他のボタンもアニメーションを開始することです。
ボタンの状態を維持するブール型の配列isDownloading[]があります。その位置でボタンを取得してアニメーションを開始しますが、問題が発生します
アニメーションからボタンを取得するコード:
else if (isDownloading[position] == true)
{
holder.downloadListBtn.setBackgroundResource(R.drawable.downloading);
LinearLayout layout = (LinearLayout) holder.downloadListBtn.getParent();
Button button = (Button) layout.getChildAt(0);
ButtonAnimate(button);
}
ボタンをアニメーション化するコード:
public void ButtonAnimate(Button b)
{
RotateAnimation animation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(4500);
animation.setRepeatCount(100);
b.startAnimation(animation);
}