【发布时间】:2015-02-03 10:49:36
【问题描述】:
我的问题: 我开始滚动后,我的 ListView 中的一个项目会动画。这不是最后一个项目,动画应该完成。一旦问题消失,我滚动后,它只会发生一次,并且只发生在列表中的单个项目上。
我如何在开始滚动 ListView 后停止该单个项目的动画?
我希望在将项目添加到适配器时动画只运行一次。
我有一个列表适配器,我在其中将项目添加到列表中时对其进行动画处理。我正在使用声明的动画器在适配器的 getView() 方法中从左侧滑入项目。这是我应用动画的 getView() 方法。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String listItemText = mList.get(position);
ViewHolder holder = null;
if (convertView == null) {
LayoutInflater li = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = li.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.mListItemText = (TextView) convertView.findViewById(R.id.progress_title);
Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.slide_in_left);
convertView.startAnimation(animation);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.mListItemText.setText(listItemText);
return convertView;
}
private static class ViewHolder {
public TextView mListItemText;
}
【问题讨论】:
-
您应该改用
ViewPropertyAnimator。检查这个:youtube.com/watch?v=8MIfSxgsHIs
标签: android android-listview android-animation