经过几个月来这里,然后终于轮到我提交我的问题了:
我有一个带有自定义 ArrayAdapter 的 ListView,它从 Internet 加载图像(每行一个图像)。我创建了一个 ImageCache 类,它在我的 ArrayAdapter 上调用 onImageLoaded 方法:
public void onImageLoaded(Bitmap image, ImageView view){
view.setImageBitmap(image);
Utils.log("start animation : " + view.toString());
view.startAnimation(mAnim);
}
问题是每次在 ONE ImageView 上调用 startAnimation(假设是一个淡入淡出)时,动画似乎从当前正在动画的所有 ImageView-s 的开始重新运行,导致滚动时几个(或所有)图像出现一些奇怪的闪烁。
Utils.log 说 startAnimation 被正常调用(即,对于出现在 ListView 中的每个新 ImageView 只调用一次)。
我的动画 XML 的内容是这样的:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:shareInterpolator="true">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" android:duration="400"/>
</set>
这曾经发生在任何人身上吗?你能看到我做错了什么吗?
谢谢!