Android ListView在删除选定行后设置行动画
我已经阅读了很多关于行动画的教程,但是它们都描述了如何为所选行设置动画。我设法做到了。但问题是。当使用动画删除行时,我从适配器中删除数据并调用notifyDataSetChanged();行(位于已删除行的下方)在没有动画的情况下向上移动。如何实现这些行的动画?我希望它们平滑地向上滑动。删除单击项时的列表项,希望此代码对您有所帮助Android ListView在删除选定行后设置行动画,android,listview,animation,Android,Listview,Animation,我已经阅读了很多关于行动画的教程,但是它们都描述了如何为所选行设置动画。我设法做到了。但问题是。当使用动画删除行时,我从适配器中删除数据并调用notifyDataSetChanged();行(位于已删除行的下方)在没有动画的情况下向上移动。如何实现这些行的动画?我希望它们平滑地向上滑动。删除单击项时的列表项,希望此代码对您有所帮助 listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
final int position, long id) {
// TODO Auto-generated method stub
Animation anim = AnimationUtils.loadAnimation(view.getContext(),
android.R.anim.slide_out_right);
anim.setDuration(500);
view.startAnimation(anim);
new Handler().postDelayed(new Runnable() {
public void run() {
strings.remove(position);
mAdapter.notifyDataSetChanged();
}
}, anim.getDuration());
}
});
请检查它是否有效,并让我知道它是否对您有用。是否有效?在代码中,您将演示如何设置选定行的动画。在我的问题中,我指的是当选定行被删除时其他行的动画。我想在notifyDataSetChanged()之后使用它;称为行随动画向上移动。
/**
* Hear strings is the data set
*/
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
final String str = this.strings.get(position);
final Holder holder;
if (convertView == null) {
convertView = mInflater.inflate(
android.R.layout.simple_list_item_1, null);
convertView.setBackgroundColor(0xFF202020);
holder = new Holder();
holder.textview = (TextView) convertView
.findViewById(android.R.id.text1);
holder.textview.setTextColor(0xFFFFFFFF);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
holder.textview.setText(str);
Animation animation = null;
animation = new ScaleAnimation((float) 1.0, (float) 1.0, (float) 0,
(float) 1.0);
animation.setDuration(750);
convertView.startAnimation(animation);
animation = null;
return convertView;
}