android listview仿iphone弹簧特效

Android 弹簧动画效果 一、概述 Rebound 通过胡克定律,实现的一个类似“弹簧”动画效果的第三方工具包,由FaceBook退出,于2013年10月正式发布,旨在解决笨重、缓慢的传统移动网络界面。 先上几张效果图:                           特点: Rebound 可以使你的动画看起来像真实自然,像真实世界物理运动 Rebound 不是一个物理引擎库,但是R 阅读详情

     IOS常见视图有一个弹性回退的动画效果,Android 从2.3开始实现了下冲到底部和上冲到底部时颜色渐变动画效果。View类有两个很重要的方法scrollTo和scrollBy,允许移动视图的可见区域。这就是我们今天实现动画效果的理论基础,我们可以在android数据列表顶部往下拖动列表或底部拖动相应的移动数据列表,当停止拖动时再让它弹回去。下面是代码部分:
 
package com.linghu; 
 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.MotionEvent; 
import android.widget.ListView; 

public class Pull_ListView extends ListView implements Runnable { 
    private float mLastDownY = 0f; 
    private int mDistance = 0; 
    private int mStep = 10; 
    private boolean mPositive = false; 
 

    public Pull_ListView (Context context, AttributeSet attrs) { 
          super(context, attrs); 
    } 
 
    public Pull_ListView (Context context, AttributeSet attrs, int defStyle) { 
          super(context, attrs, defStyle); 
    } 
 
    public Pull_ListView (Context context) { 
          super(context); 
    } 
 
    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
         switch (event.getAction()) { 
              case MotionEvent.ACTION_DOWN: 
                   if (mLastDownY == 0f && mDistance == 0) { 
                         mLastDownY = event.getY(); 
                   return true; 
              } 
              break; 
 
    case MotionEvent.ACTION_CANCEL: 
           break;

    case MotionEvent.ACTION_UP: 
          if (mDistance != 0) { 
           mStep = 1; 
           mPositive = (mDistance >= 0); 
           this.post(this); 
           return true; 
        } 
        mLastDownY = 0f; 
        mDistance = 0; 
        break; 
 
    case MotionEvent.ACTION_MOVE: 
        if (mLastDownY != 0f) { 
              mDistance = (int) (mLastDownY - event.getY()); 
              if ((mDistance < 0 && getFirstVisiblePosition() == 0 && getChildAt(0).getTop() == 0) || (mDistance > 0 && getLastVisiblePosition() == getCount() - 1)) { 
                   mDistance /= 2; 
                   scrollTo(0, mDistance); 
                   return true; 
               } 
        } 
        mDistance = 0; 
        break; 
        } 
        return super.onTouchEvent(event); 
    } 
 
    @Override 
    public void run() { 
          mDistance += mDistance > 0 ? -mStep : mStep; 
          scrollTo(0, mDistance); 
          if ((mPositive && mDistance <= 0) || (!mPositive && mDistance >= 0)) { 
                scrollTo(0, 0); 
                mDistance = 0; 
                mLastDownY = 0f; 
                return; 
           } 
          mStep += 1; 
          this.postDelayed(this, 10); 
     } 
} // end class 
 

上面是比较老的代码,效果可能会卡一点不是很理想,看下面这个效果很流畅的

地址:http://download.youkuaiyun.com/detail/linghu_java/5899421

Android进阶之路 - 拉伸的弹簧效果 因为在一些app中看到了图片的下拉放大,同时自带回弹的效果,所以在网上找了一个,同时尝试实现了一下,勉强满足基本需求,所以在此用于记录,可直接copy使用... 阅读详情

相关推荐

Android ScrollView弹簧反弹效果的实现与问题修正

弹簧反弹效果是用户界面上的一种常见交互特性,它模拟了真实世界中物体的弹性运动,为用户提供直观且富有触感的交互体验。在Android开发中,ScrollView通过监听滚动事件来实现这种效果,当滚动视图超出其内容范围时,会自动以弹簧效果回弹到其初始位置。弹簧反弹效果不仅增加了应用的趣味性和吸引力,还能有效地防止用户滚动超出视图边界,从而增强用户体验。

weixin_42613018的博客 1257

Android基于物理特性动画 —— 弹簧动画

Android基于物理特性动画 —— 弹簧动画

qq_63462634的博客 2288

Android一个具有弹簧效果的RecyclerView

SpringRecyclerView SpringRecyclerView是一个RecyclerView具有弹簧效果,当被拖动或flinged到overScroll。 ListView版本:https : //github.com/gjiazhe/SpringListView

推荐开源项目:YLListView - 演绎iOS风格弹簧效果的Android ListView

推荐开源项目:YLListView - 演绎iOS风格弹簧效果的Android ListView 项目介绍 在移动应用开发中,列表视图(ListView)是一种常见的UI组件,用于显示大量数据。YLListView 是一个针对Android平台的开源项目,它仿照了iOS系统的弹簧回弹效果,为开发者带来更生动、自然的用户体验。只需简单集成,你就可以让你的ListView拥有了如同iOS般的动态交互效...

gitblog_00022的博客 319

仿ios弹簧效果,带阻尼,和回弹渐慢动画

android 仿ios 弹簧效果,带阻尼

Android 惯性回弹效果,支持所有view,仿ios惯性回弹,滚动惯性回弹

Android 惯性回弹效果,还在羡慕ios页面的回弹效果吗? Android 页面滚动惯性回弹 。支持所有view

Android Compose 框架物理动画之弹簧动画(Spring、SpringSpec)深入剖析(二十七)

Spring类是 Android Compose 中用于定义弹簧动画相关常量和配置的类。它包含了一些常用的弹簧刚度和阻尼比常量,以及一些用于计算弹簧动画的辅助方法。下面是Spring类的部分源码:kotlin// Spring 类定义,用于定义弹簧动画相关常量和配置// 低刚度常量,表示弹簧比较软,容易产生较大的形变// 中等刚度常量,表示弹簧的刚度适中// 高刚度常量,表示弹簧比较硬,不容易产生形变// 非常高刚度常量,表示弹簧极硬。

Android开发领域创作者 1421

Android,ListView实现IOS的弹性效果

新手自定义控件,创建属于自己的下拉刷新(一)---Android,ListView实现IOS的弹性效果 同步博文http://blog.youkuaiyun.com/qq_28690547/article/details/50493564

明目张胆的抄袭者

   有朋友告知拙作《android listview仿iphone特效》被人抄袭。对于如此国情早已司空见惯,但抄袭的水平实在是太菜了。一个刚知道什么叫构造函数、一个把类名命名的奇奇怪怪的小菜堂而皇之拿人家的文章不加思索就盖以自己大名,实在是中国特色。   天下程序一大抄,抄来抄去是不是你的?自己掂量吧!      看看这个号称【linghu_java的专栏】抄袭本人拙作 《andr...

奥巴牛 165

ListView回弹效果

Android ListView反弹效果源码,可以有更好的交互,值得推荐

仿IOS效果 带弹簧动画的ListView

最近项目打算做一个界面,类似于dayone首页的界面效果,dayone 是一款付费应用,目前只有IOS端。作为一个资深懒惰的程序员,奉行的宗旨是绝对不重复造一个轮子。于是乎,去网上找一大堆开源项目,发现没有找到合适的,然后,只能硬着头皮自己来了。先看看效果: 效果图 其实写起来也比较简单,就是控制ListView的头部和底部的高度就可以了, 如果用RecycleView实现起来也是一样,只是RecycleView添加头和尾巴稍微麻烦一点,处理点击事件也不是很方便,所以就基于ListView去实现了。实现的代码, 我已经上传到github上了。 1、使用方法 compile ‘com.a5

android 弹簧震动动画,仿IOS效果 带弹簧动画的ListView

最近项目打算做一个界面,类似于dayone首页的界面效果,dayone 是一款付费应用,目前只有IOS端。作为一个资深懒惰的程序员,奉行的宗旨是绝对不重复造一个轮子。于是乎,去网上找一大堆开源项目,发现没有找到合适的,然后,只能硬着头皮自己来了。先看看效果:效果图其实写起来也比较简单,就是控制ListView的头部和底部的高度就可以了, 如果用RecycleView实现起来也是一样,只是Recyc...

weixin_36212539的博客 315

【pprof】简要学习教程

基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/google/pprof 分析工具 go tool pprof 是命令行指令,用于分析 Profiling 数据,源数据可以是 http 地址,也可以是已经 dump 下当 profile 文件;查看模式可以命令行交互模式,也可以是浏览器模式(-http 参数)。 两种应用 服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析。即在运行的服务中通过 API .

码农印象 885

【Android】实现一个弹簧(Spring)效果的动画

弹簧(spring)效果在开发中十分常见,效果比较轻盈活泼,但是android本身要用基本的xml去实现弹簧效果,很难做到流畅,需要自定义一个插值器(Interpolator),这里记录一下最近写的一个弹簧效果的插值器:/** * 实现一个弹簧效果的加速器 */ public class BounceInterpolator implements Interpolator { double

后进生的代码笔记 2017

Polardb训练营-本地部署 PolarDB-X

PolarDB-X是阿里巴巴自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。云原生+MySQL生态PolarDB-X已作为标准云产品在世界范围内的13个地区提供服务。依托云资源和容器化部署能力,PolarDB-X可以在数分钟内完成集群创建和变配,整个过程中用...

yangjunfeng0604的博客 2475

重塑计算的五层蛋糕:解读黄仁勋CES2026演讲背后的AI新秩序与物理世界

2026年CES演讲揭示AI新纪元:从语言模型到物理智能 NVIDIA CEO黄仁勋在2026年CES演讲中描绘了计算产业的根本性变革。核心突破包括: 计算范式转移:从指令执行转向意图理解,智能体系统崛起 物理AI突破:发布Cosmos世界模型,通过合成数据训练AI理解物理定律 全新VeraRubin计算平台:6芯片协同设计,解决摩尔定律放缓与AI需求增长的矛盾 自动驾驶革命:推出具备推理能力的Alpamayo模型,实现L4级自动驾驶 演讲标志着AI正从数字世界迈向物理世界,NVIDIA通过全栈布局,正在重

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 1279

android 阻尼动画,Android SpringAnimation 安卓模拟弹簧动画

前言在最近的Support Library更新中(25.3.0),新增或者修复了许多东西,具体可以看revisions,其中有一个新增的动画效果:SpringAnimation 即弹簧动画,随即,Android 开发者发布了一段简短的gistHere,演示了该动画库的简单使用。并在一个不存在的网站上post出gif演示:spring.gif由于大神给出的代码不是很完整,出于好奇的心态,于是在gis...

weixin_35778603的博客 489

python调用hypermesh调用tcl_TclTk如何调用HyperMesh运行tcl脚本文件

#Tcl/Tk编写界面部分set t [toplevel .tp]focus $tgrab $tset Filename "E:/CAE_Tech/process_files/88/Example.tcl"set Font "Times 12 bold"wm title $t "Call HyperMesh"wm attribute $t -topmost 1wm withdraw $tset t...

weixin_39541681的博客 1601

仿IOS效果-带弹簧动画的ListView

背景介绍 最近项目打算做一个界面,类似于dayone首页的界面效果,dayone 是一款付费应用,目前只有IOS端。作为一个资深懒惰的程序员,奉行的宗旨是绝对不重复造一个轮子。于是乎,去网上找一大堆开源项目,发现没有找到合适的,然后,只能硬着头皮自己来了。先看看效果: 其实写起来也比较简单,就是控制ListView的头部和底部的...

weixin_33775572的博客 177

基于ROS的室内移动机器人自主导航技术

随着机器人技术的发展,近些年来室内移动机器人的研究热度越来越高。本文主要利用ROS操作系统对室内移动机器人的建图定位与自主导航关键技术进行研究。 ROS是目前开发较为完整具有广阔应用前景的开源机器人操作系统,具有分布式、模块化、代码复用等优良特点。同时ROS还提供了许多开源库,在这些库的基础之上研究同时定位与地图构建和机器人自主导航技术可以节省大量时间。 ORB-SLAM2是比较优秀的视觉SLAM算法之一,它具有计算量比较小、能够实时运行等优点。在介绍ORB-SLAM2的框架之前,首先会介绍视觉SLAM的一

weixin_44553616的博客 1911

概念解析 | 雷达动态范围

这里存在一个动态范围的问题:强雷达发射信号和弱目标反射信号存在非常大的功率差异,比如传统的脉冲多普勒雷达动态范围可达90dB以上。随着上述技术的发展,预计未来十年雷达接收机动态范围将达到120dB以上,届时雷达的监视能力将得到极大增强。简单来说,雷达动态范围越大,表示接收机噪声越低,对强信号过载保护能力越强,就越能检测到弱信号目标。此外,部分新概念雷达对动态范围提出新的需求,如被动雷达动态范围需大于100dB。当前,随着阵列雷达和数字雷达技术的发展,对雷达接收机动态范围提出了更高要求。

NLOS的博客 1051
上一篇: 自定义CheckBox
下一篇: Adroid ListView的下拉刷新的实现
cding1818
博客等级 码龄17年 963粉丝 154原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值