Hy的Android程序员,
我对ObjectAnimator的背景颜色淡化动画有疑问。 如您所见,如果我切换到片段,其中每个项目背景颜色应该淡出,只有第一个项目背景颜色这样做。
这是功能
public static void colorFade(View view, Resources res) {
ObjectAnimator colorFade = ObjectAnimator.ofObject(view, "backgroundColor", new ArgbEvaluator(), res.getColor(R.color.counter_text_bg), 0xffccc);
colorFade.setDuration(30000);
colorFade.start();
}
在扩展的BaseAdapter的重写getView函数中调用:
public class CompetitionsListAdapter extends BaseAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent) { [...] UiHelper.colorFade(view, activity.getResources()); [...]}
当我滚动时,每个项目的颜色都会根据需要淡化。我只创建了片段创建时显示的这些项目的问题。因此,在图片中,项目1淡化,项目2,3,4和5不会褪色,并且所有后续项目都会按预期淡化。对于我添加动画的所有其他片段,此行为会重复。
项目布局是RelativeLayout,包含ListView的布局是LinearLayout。
我希望你们中的某个人已经遇到过这个问题,我希望这些信息足够 - 如果没有,请告诉我:)
非常感谢!