文档章节

给Android ListView添加删除item动画

Nov_Eleven
 Nov_Eleven
发布于 2015/05/26 14:59
字数 193
阅读 7506
收藏 20

给Android ListView添加删除item动画

给listview删除一个item的时候加上一个折叠动画,感觉效果会好一点。

步骤是当删除一个view,先用动画把view的高度改变,看上去就是折叠的效果。当动画完成的时候,再真正把item移除。

    private void deletePattern(final View view, final int position) {

        Animation.AnimationListener al = new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                mDBHelper.deleteCustomPattern(mPatternList.get(position));
                mPatternList.remove(position);
                mPatternAdapter.notifyDataSetChanged();
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        };
        collapse(view, al);

    }

    private void collapse(final View view, Animation.AnimationListener al) {
        final int originHeight = view.getMeasuredHeight();

        Animation animation = new Animation() {
            @Override
            protected void applyTransformation(float interpolatedTime, Transformation t) {
                if (interpolatedTime == 1.0f) {
                    view.setVisibility(View.GONE);
                } else {
                    view.getLayoutParams().height = originHeight - (int) (originHeight * interpolatedTime);
                    view.requestLayout();
                }
            }

            @Override
            public boolean willChangeBounds() {
                return true;
            }
        };
        if (al != null) {
            animation.setAnimationListener(al);
        }
        animation.setDuration(300);
        view.startAnimation(animation);
    }

输入图片说明

© 著作权归作者所有

Nov_Eleven
粉丝 13
博文 79
码字总数 18490
作品 0
江门
程序员
私信 提问
加载中

评论(4)

大盗海洲
大盗海洲
请问是否有demo,我试了的方法,点击删除的时候,数据不能复原
laoSir
laoSir
看到你的Listview的item删除折叠动画的,adapter用viewHolder重用会有Bug,就是折叠两个,还有中间有空隙,这个怎么解决呢
怀
怀念黑海岸
厉害
四档路飞
四档路飞
79
Android 5.0+(RecycleView、CardView、Palette)

Android L 开发者预览支持库提供两个新的Widgets,RecyclerView和CardView。使用这两个Widgets可以显示复杂的Listview和卡片布局,这两个Widgets默认使用Material design。 RecyclerView R...

让代码飞一会
2015/07/27
0
0
(GridView)ListView.setSelector(),ListView中Header/Footer的删除和添加/显示与隐藏

GridView.selector: GridView的设置根据Item选择状态改变背景状态 -- ListView.setSelector() 1.方法一:在listview中配置android:listSelector="@drawable/xxx" 或者在listview的item中添加......

desaco
01/21
0
0
Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一篇文章中Android 带你从源码的角度解析Scrol...

程序袁_绪龙
2015/08/13
0
0
【转载】Android RecyclerView 使用完全解析 体验艺术般的控件

崇拜下鸿洋大神,原文地址:http://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进...

桀骜不驯24
2018/09/11
0
0
Android的Animation之LayoutAnimation使用方法

LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置。 一种直接在XML文件中设置 1. 在res/a...

宇宙执政
2013/08/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

给Word加目录的正确方式

很多职场新人都搞不清楚:你辛辛苦苦、加班加点做的Word方案/计划,在领导面前啥都不是,花5分钟看都觉得浪费时间。 所以聪明人都会标记出Word文档中的重点,让领导一目了然,在1分钟内就能清...

太空堡垒_185
22分钟前
0
0
SpringCloud微服务架构升级总结

一、背景 1.1 应用系统的架构历史 1.2 什么是微服务? 起源:微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章“Microservices”。文中内容提到:微服务架构是一种架构模式,它提...

宜信技术学院
29分钟前
13
0
kafka在windows下的安装(kafka_2.12-2.2.1)

kafka 的介绍我就不赘述了,本人理解不深,为实现sping-cloud配置自动刷新使用kafka,总结如下: 一、下载最新版本,我用的是2.12-2.2.1 http://kafka.apache.org/downloads 二、安装 1、解压...

pipi1919
31分钟前
0
0
vue中clearInterva清除失效解决方法

const chatTimer = setInterval(() => { console.log(chatTimer); this.chatMsg(); }, 1000);this.$once('hook:beforeDestroy', () => { clearInterval(chatTimer); })......

25903014
35分钟前
0
0
关于 Java 类加载器的这一点,市面上没有任何一本图书讲到

一、一个程序员的思考 大家都知道,Tomcat 处理业务,靠什么?最终是靠我们自己编写的 Servlet。你可能说你不写 servlet,你用 spring MVC,那也是人家帮你写好了,你只需要配置就行。在这里...

爱编程的浪子
40分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部