ListView 条目加载上滑下滑首尾缩放动画实现

简介: 要实现这个效果,只需要再适配器getView之前,给每个条目的view设置相应的动画即可。   首先需要2个动画的xml文件。 在res下新建anim文件夹:(res/anim) 第一个动画xml文件:   up_from_bottom.

要实现这个效果,只需要再适配器getView之前,给每个条目的view设置相应的动画即可。

 

首先需要2个动画的xml文件。

在res下新建anim文件夹:(res/anim)

第一个动画xml文件:

 

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="400" />
</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="400" />
</set>

  

在listview的适配器中使用定义的动画:

 

代码如下:

 

private int lastPosition = -1;

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    //Load your view, populate it, etc...
    View view = ...;

    Animation animation = AnimationUtils.loadAnimation(getContext(), (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
    view.startAnimation(animation);
    lastPosition = position;

    return view;
}

  

 

参考: http://kylewbanks.com/blog/Implementing-Google-Plus-Style-ListView-Animations-on-Android

If you are interested the animation,

you can check out the full source on GitHub, or download the project and try it out.

 

目录
相关文章
|
6月前
【实现手机端上滑滚动加载列表】判断页面是否滚动到底部或者指定元素位置
【实现手机端上滑滚动加载列表】判断页面是否滚动到底部或者指定元素位置
|
索引
RecyclerView,ListView实现顶部悬浮、字母排序、过滤搜索
RecyclerView,ListView实现顶部悬浮、字母排序、过滤搜索
196 0
|
XML 前端开发 Android开发
Android NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端
Android NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端 网上有一个StickyScrollView,称之为粘性ScrollView,比如一个垂直方向的布局,依次摆放几个子View,当某一个子View滚到到顶端时候要停靠在顶部,悬停在顶部的位置不动。
2870 0
scrollIntoView()定位元素显示导致页面上移解决方法?
scrollIntoView()定位元素显示导致页面上移解决方法?
561 0
|
6月前
|
iOS开发
ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱
ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱
84 1
|
JSON 数据格式
底部弹出PopupWindow+地址三级联动,多问题全面分析,详细注释
底部弹出PopupWindow+地址三级联动,多问题全面分析,详细注释
178 0
底部弹出PopupWindow+地址三级联动,多问题全面分析,详细注释
SwiftUI—使用ScrollView在限定的区域显示超长的内容
SwiftUI—使用ScrollView在限定的区域显示超长的内容
428 0
SwiftUI—使用ScrollView在限定的区域显示超长的内容
|
前端开发 JavaScript
利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动
利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动
222 0
利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动