我正在使用一个列表视图,其中有下载按钮。
我想在单击事件上旋转按钮,直到某些后台下载过程正常工作。
旋转工作正常,但一个周期完成时会出现一些延迟。
主要问题是当按钮动画并且用户滚动列表时,不同行中的其他一些按钮也会启动动画。
我有一个布尔类型数组来保持按钮状态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);
}