在我listview
的自定义适配器中,我添加了这样的动画:
View lastAddedItem = parent.getChildAt(0);
if(lastAddedItem != null) {
Animation a = AnimationUtils.loadAnimation(c, R.anim.push);
lastAddedItem.startAnimation(a);
}
此代码将动画应用于列表中的第0项。当我滚动列表时也会应用此动画,当然滚动时列表必须再次渲染,但是有些我可以阻止这个吗?请记住,请记住此代码位于方法getView()
非常感谢!
答案 0 :(得分:0)
如果您希望它在第0个项目上运行动画,您应该只能检查position
附带的getView()
变量。如果为0,则在提供的View
上运行动画。
修改:为每条评论添加了一个布尔标记。
boolean isFirstRun = true;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
// init view
...
}
// populate view
...
if(position == 0 && isFirstRun) {
isFirstRun = false;
// do animation stuff to convertView
// this will be the 0th item
...
}
}