【发布时间】:2015-07-20 21:00:15
【问题描述】:
我有一个listView,它有一个布局动画,每次一个淡入每个项目。
lac = new LayoutAnimationController(AnimationUtils.loadAnimation(this, R.anim.listview_2), 0.25f);
listOptions.setLayoutAnimation(lac);
listOptions.setLayoutAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
当用户选择一个项目时,listView 会显示一组新的项目 - 每个项目一次淡入一个。但是,如果当用户选择一个项目并导致新集合淡入时,项目的淡入动画尚未完成,则这些动画重叠导致并且在新的淡入时可以看到以前的项目。看起来就像ListView 上的闪烁故障一样。
onItemClick(),即使我打电话给listView.getLayoutAnimation.getAnimation().cancel();,我仍然会遇到同样的闪烁问题。
我也试过listView.clearAnimation();,还是不行。
我也试过:listView.setLayoutAnimation(null); 和重置。仍然没有工作。
看来我无法停止或取消动画!
我想要做的就是,onItemclick() 在我的listView 中停止动画或清空/清除listView 然后将新项目重新加载到listView 并使用动画淡入它们,没有重叠 - 因此- 没有闪烁故障。
我不想在动画完成之前禁用listView,然后重新启用,因为它会造成尴尬的长等待时间。
【问题讨论】:
标签: android listview animation android-listview