先上效果:
方法:
private void initAinm() {
//通过加载XML动画设置文件来创建一个Animation对象;
Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.left);
//得到一个LayoutAnimationController对象;
LayoutAnimationController lac = new LayoutAnimationController(animation);
//设置控件显示的顺序;
lac.setOrder(LayoutAnimationController.ORDER_NORMAL);
//设置控件显示间隔时间;
lac.setDelay(0.2f);
//为ListView设置LayoutAnimationController属性;
mRecyclerView.setLayoutAnimation(lac);
}
XMl文件 reclerview_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromXDelta="100%"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="0" />
<alpha
android:duration="500"
android:fromAlpha="0"
android:toAlpha="1" />
</set>
代码中调用:
//设置数据
public void showResult(List<MessageBean> messages) {
//调用动画方法 一定要在设置数据之前
initAinm();
if(messages!=null&&messages.size()>0){
if(adapter == null){
adapter = new MessageAdapter(messages,getContext());
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
//为列表设置数据
mRecyclerView.setAdapter(adapter);
}
});
}else {
//UI线程 刷新条目
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
});
}
}
}
是不是很简单,需要其他效果。可自定义reclerview_anim.xml文件,换成其他的效果