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

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

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

up_from_bottom.xml:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/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="http://schemas.android.com/apk/res/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);

}

............................

@Override

public 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;

}

}

时间: 2024-11-02 15:48:58

给ListView列表添加数据展示动画的相关文章

C#:使用ListView动态添加数据一直闪烁的解决办法

首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace 你的名称空间 { class ListViewNF : System.Windows.Forms.ListView { public ListV

Android创建列表并为列表添加数据

在Android开发中经常会用到ListView,也就是列表,而列表的内容需要如何决定呢,很好的方法是使用各种adapter 首先来看看用entries添加列表内容 在布局文件中,创建一个ListView,其内容在values文件夹下的arrays.xml文件中 <ListView android:layout_width="match_parent" android:layout_height="wrap_content" android:entries=&

Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)

一.SQLiteOpenHelper类: 这次我们通过sqlite来动态添加数据,接下来我们创建一个openHelper.java,在前面sqlite博客中我们已经详细的讲了SQLite的创建及使用等操作,我们将在onCreate 创建方法中创建一张表和插入相关的值,通过db.execSQL()完成Sqlite的运行. ①openHelper2.java文件: public class openHelper2 extends SQLiteOpenHelper { private static f

Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发

关于urls的重新分发: 如果所有url都配置在根路径的urls.py里,会特别多,而且也不易于修改,Django框架里支持urls的重新分发: 1.在根路径的urls配置上: PS:namespace是定义命名空间,比如下面这种配置, urlpatterns = [ #课程机构url配置,验证码,每个app可以书写自己的url,然后通过include进来 url(r'^org/', include('oraganization.urls',namespace="org")), ] 2

wpf 在listview里添加数据

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Med

C#中使用ListView动态添加数据不闪烁

首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView 1 class ListViewNF : System.Windows.Forms.ListView 2 { 3 public ListViewNF() 4 { 5 // 开启双缓冲 6 this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); 7 8 //

listview 按最新数据展示

/* * 查看所有的数据 */ public List<blackNumberInfo> findAll(){ List<blackNumberInfo> list = new ArrayList<blackNumberInfo>(); SQLiteDatabase db = helper.getReadableDatabase(); Cursor cursor = db.rawQuery("select number,mode from blacknumbe

使用listview空控件展示数据

1.使用listview控件可以一次性的将有关的全部图像保存在控件中,建立集合图像. 图像列表控件的主要属性 属性                                                                     说明 Images                                                                    存储在列表中的所有图像 ImageSize                          

AsyncTask异步;ListView列表展示数据

AsyncTask异步ListView列表展示数据 libs文件夹下加入jar包(导包): gson ======================================= 添加权限: 网络请求权限:INTERNET<uses-permission android:name="android.permission.INTERNET"/>网络判断权限:ACCESS_NETWORK_STATE<uses-permission android:name="