给ListView列表添加数据展示动画

给ListView的数据展示 做点动画效果,数据较多时,手指往上拉动数据时,,下面的数据感觉是往上推的,直接上关键代码:

———————动画文件res/anim:———————————

up_from_bottom.xml:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="" android:shareInterpolator="@android:anim/decelerate_interpolator"> <translate android:fromXDelta="0%" android:toXDelta="0%" android:fromYDelta="100%" android:toYDelta="0%" android:duration="300" /></set>

down_from_top.xml:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="" android:shareInterpolator="@android:anim/decelerate_interpolator"> <translate android:fromXDelta="0%" android:toXDelta="0%" android:fromYDelta="-100%" android:toYDelta="0%" android:duration="300" /></set>

————在ListView的Adapter中使用————

public class MyAnimAdapter extends BaseAdapter {private int lastPosition = -1; …………………….public BeforeRecordAdapter(Context context) {super(context);}

……………………….@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder;if (null == convertView) {viewHolder = new ViewHolder();convertView = mInflater.inflate(R.layout.item_my_anim, null);viewHolder.winnerTv = (TextView) convertView.findViewById(R.id.period_record_winner_name_tv);viewHolder.ipTv = (TextView) convertView.findViewById(R.id.period_record_ip_tv);viewHolder.userIdTv = (TextView) convertView.findViewById(R.id.period_record_winner_id_tv);convertView.setTag(viewHolder);}else {viewHolder = (ViewHolder) convertView.getTag();}setBeforeItemData(viewHolder, position);……………..//设置数据if (position > lastPosition) {//这里就是动画的应用Animation animation = AnimationUtils.loadAnimation(mContext, (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);convertView.startAnimation(animation);lastPosition = position;}return convertView;}private static class ViewHolder {private TextView winnerTv;private TextView ipTv;private TextView userIdTv;public int rp;}}

当你能爱的时候就不要放弃爱

给ListView列表添加数据展示动画

相关文章:

你感兴趣的文章:

标签云: