【发布时间】:2014-08-08 07:15:39
【问题描述】:
我有一个包含大约 20 个项目(动态项目)的 listView。我想首先对这些项目进行动画处理,然后将它们显示给用户。类似于 Google+ 卡片。有几点我想达到的:
- 项目仅在用户开始看到它们时才具有动画效果。
- 项目仅动画一次。 (不是每次用户看到它们)
- 关于快速滚动的项目不要相互混淆。
- 动画根据项目的位置开始延迟。
到目前为止我已经尝试过:
- LayoutAnimationController(此方法不满足第一个要求)
- convertView.startAnimation(此方法不满足第二个要求)
- convertView.startAnimation 带有一个标志,表明该位置的项目之前是否已动画(此方法不适用于 listView 中的第一个项目,因为对于 listView 中的第一个项目,getView 方法将被调用两次。(我不知道为什么!layout_height 和 layout_width 都是 match_parent))
我搜索了很多,但找不到解决方案。
顺便说一句,我不喜欢使用外部库。我以前见过this。
谢谢。
【问题讨论】:
-
请告诉我您有充分的理由避免使用外部库。尤其是开源库。学习,也许?
-
@Lo-Tan 好吧,我想在使用外部库进行学习之前我必须这样做一次,我认为这应该是一件容易的事。除了外部库会增加最终 APK 的大小,这对用户下载来说是一个负面因素。
-
不过,阅读外部库是一种很好的学习方式。这是人们开源事物的原因之一 :) 另外,我曾在成员有避免使用库的习惯的团队工作过,它确实会影响交付日期、代码质量和维护水平——没有任何正当理由。你对 libs 的评论给了我一种奇怪的感觉。有时外部库是多余的,绝对可以跳过。这应该是一个经过深思熟虑的决定,并且 proguard 会剥离您不用于生产的代码,因此合理大小的库并不那么可怕。
-
@Lo-Tan 我再也不喜欢发明轮子了,但是在这个特殊的问题中,我想自己解决它是一个挑战,因为我认为这一定不是一个难题.顺便说一句,感谢您的帮助:)
标签: android listview animation android-listview