视差特效 * 应用场景: 微信朋友圈, QQ空间, 微博个人展示,向下拉出,松开回弹 * 功能实现: > 1. 重写overScrollBy > 2....scaleType="centerCrop" android:src="@drawable/parallax_img" /> MyListView /** * 视差特效...maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { // deltaY : 竖直方向的瞬时偏移量 / 变化量 dx 顶部到头下拉为...maxOverScrollY: " + maxOverScrollY + " isTouchEvent: " + isTouchEvent); // 手指拉动 并且 是下拉...switch (ev.getAction()) { case MotionEvent.ACTION_UP: // 执行回弹动画
视差特效 * 应用场景: 微信朋友圈, QQ空间, 微博个人展示,向下拉出,松开回弹 * 功能实现: > 1. 重写overScrollBy > 2....scaleType="centerCrop" android:src="@drawable/parallax_img" /> MyListView /** * 视差特效...maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { // deltaY : 竖直方向的瞬时偏移量 / 变化量 dx 顶部到头下拉为...scrollRangeY + " maxOverScrollY: " + maxOverScrollY + " isTouchEvent: " + isTouchEvent); // 手指拉动 并且 是下拉...final int endHeight = mOriginalHeight; // valueAnimator(startHeight, endHeight); // 执行回弹动画
在本文主要是给android的线性布局(相对布局、帧布局)加上下拉或者上拉回弹得效果。...在ios中我们经常能看到,在一个页面中即使是只有一个控件,这一个控件只占整个页面的1/10不到,但是当我们下拉整个页面的时候还是会有回弹的效果(在这里我们暂不考虑这样的页面是否美观,只是就怎么实现进行分析...所以在这里我也为线性布局加上了下拉或者上拉回弹得效果。...必须执行invalidate()从而调用computeScroll() //invalidate(); //上面一句注释掉好像也没什么影响,暂时没有发现 } } 上面实现了线性布局的下拉回弹效果...项目下载地址:Android自定义控件仿ios下拉回弹效果 以上就是本文的全部内容,希望对大家的学习有所帮助。
要实现ScrollView的回弹效果,需要对其进行触摸事件处理。先来看一下简单的效果: ?...事件分发处理机制,下面对dispatchTouchEvent进行详细分析: 在加载布局完成之后,获取ScrollView的第一个子元素,保存它的参数,left top right bottom参数,根据顶部下拉操作和底部上拉操作进行子...View的布局参数根据滑动距离改变,ACTION_UP的时候判断是否存在回弹,如果需要则进行动画回弹到原来的位置,可以添加一个回弹结束监听,比如监听回弹处理跳转到其他的页面的操作等。...具体的实现如下,添加了是否禁用顶部和底部回弹的参数设置,以及回弹效果结束监听。...{ lastY = (int) ev.getY(); break; } //处于顶部或者底部 int deltaY = (int) (ev.getY() - lastY); //deltaY 0 下拉
overScrollBy实现下拉视差特效,效果图如下 ?...* * @param deltaX x方向的瞬时偏移量,左边到头,向右拉为负,右边到头,向左拉为正 * @param deltaY y方向的瞬时偏移量,顶部到头,向下拉为负...HeaderView的方式添加到自定义的ListView中 3.需要获取HeaderView的ImageView的初始高度和ImageView中图片的高度.因为这2个高度将决定下来的时候图片拉出的范围,以及松手后图片回弹的动画效果...overScrollBy方法内通过修改ImageView的LayoutParams的height值来显示更多的图片内容. 5.在onTouchEvent方法内处理ACTION_UP事件,使ImageView有回弹的动画效果...boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_UP: // 执行回弹动画
项目名称: 智能下拉刷新框架 SmartRefreshLayout ?...项目简介: 正如名字所说,SmartRefreshLayout 是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的 View,还支持多层嵌套的视图结构。...支持自定义回弹动画的插值器,实现各种炫酷的动画效果。 支持设置主题来适配任何场景的 App,不会出现炫酷但很尴尬的情况。 支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏。...支持所有可滚动视图的越界回弹。 项目地址: https://gitee.com/scwang90/SmartRefreshLayout 2. 项目名称:基于 Android 的点赞特效 ?...项目简介: 本项目是一个基于 Android 类似 periscope 的点赞特效,也类似 QQ 点赞特效,效果比较赞。
本文实例讲述了Android开发使用自定义view实现ListView下拉的视差特效功能。...分享给大家供大家参考,具体如下: 一、概述: 现在流型的APP如微信朋友圈,QQ空间,微博个人展示都有视差特效的影子。 如图:下拉图片会产生图片拉升的效果,放手后图片有弹回到原处: ?..., scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); } 得到数据下拉...isTouchEvent=true 得到数据上拉:deltaY=4 scrollX=0 scrollRangeY=0 maxOverScrollY=0 isTouchEvent=true 2.如果是下拉...) { mImageView.getLayoutParams().height = mHeight; mImageView.requestLayout(); } } 3.松手后图片回弹
要是用它来做一个滑动控件下拉回弹的效果,应该不错吧。...,类似于劲度系数,默认值是 1500f DampingRatio - 阻尼,值越小,回弹后,动画来回的次数越多,就是更有「DUANG」的感觉,默认值是 0.5f 通过 springAnim.getSpring...)) { case MotionEvent.ACTION_MOVE: if (getScrollY() <= 0) { //顶部下拉...下拉回弹的效果就已经完成了。对了,我们顺便把底部上拉的回弹也做一下呗。...case MotionEvent.ACTION_MOVE: if (getScrollY() <= 0) { //顶部下拉
这是一款使用纯CSS3制作的带下划线跟随效果的下拉菜单特效。该下拉菜单通过CSS3 transform和transition来制作下划线跟随效果和下拉菜单效果。...简要教程 HTML结构 该下拉菜单使用元素来包裹一个无序列表。...padding: 15px 20px; cursor: pointer; z-index: 5; min-width: 120px; } li { margin: 0; } 在HTML结构中,ul.drop是下拉菜单组件...然后将该菜单项中的子菜单的Y轴位置恢复为0,显示下拉菜单,同时根据不同的菜单项来设置translate函数的X方向移动值来移动下划线。
通过SmartRefreshLayout框架,你可以在一个稳定强大的下拉布局中实现自己项目需求的 Header ,不用去关心滑动事件处理,不用关心子控件的回弹和滚动边界,只需关注自己真 正的项目需求Header...以业务使用的 SpinnerStyle.Translate 变换方式来看: moveSpinner // 启用下拉刷新 + 松手后进入Refreshing状态前的回弹动画ing...·在不同的条件下,下拉刷新组件可能作出 视图偏移 、刷新并执行刷新动画、进入二楼、回弹动画 等视觉操作。...以业务使用的 SpinnerStyle.Translate 变换方式来看: moveSpinner // 启用下拉刷新 + 松手后进入Refreshing状态前的回弹动画ing...·在不同的条件下,下拉刷新组件可能作出 视图偏移 、刷新并执行刷新动画、进入二楼、回弹动画 等视觉操作。
前言 之前做项目的时候,需要实现类似微博个人主页的ScrollView效果,就是到顶部时继续下拉会放大顶部的图片。然后在网上找了一篇相关的实现,效果非常好,代码也很简洁易懂。...(传送门: 自定义scrollView实现顶部图片下拉放大),那么我这里就只是在其基础上修改了一点点而已,比如在代码中控制图片居中、增加动态设置放大的控件、使用自定义的最大放大倍数等,都是很简单的修改,...在顶部时继续往下拉,通过LayoutParams改变控件的宽高; 3. 手指抬起时初始化各项参数,通过属性动画回弹控件。...Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } // 用于记录下拉位置...当距离不小于0的时候,开始放大控件,可以看到调用了setZoom方法,注意,在这里其实控件的下拉放大、上拉恢复都做了, 回弹其实也是调用这个方法。 抬手的时候回弹,这个不需要说了。
遇到的问题 1 数据传输长度超过最大长度 一个新闻流的项目中,用户可以无限下拉加载数据,内部会使用一个数组将列表的数据存储起来。...2 滚动问题 我们的小程序有一个下拉刷新的功能,小程序自己官方是有封装 onPullDownRefresh 接口来帮助我们完成这个事。...不过因为我们的下拉刷新是有自定义样式的,所以就没办法使用官方的接口了。 最开始我是使用了 组件来做滚动,同时使用 scrolltoupper 来触发下拉的事件。...内部则是使用了 translate 操作来展开下拉卡片。...在 iOS 中会存在阻尼效果,也就是下拉的时候滚动条会有一个回弹的特效,导致你虽然下拉了但是 touch 事件并没办法有效的执行。
阿里的下拉刷新又不符合项目的风格,只能 自己实现了。 采用better-scroll+react实现。 效果 ?...另外 better-scroll 中已经提供了下拉刷新 上拉加载更多的方法,我要做的也是在其方法 内完善我要的效果 下拉刷新 pullDownRefresh选项,用来配置下拉刷新功能。...当设置为 true 或者是一个 Object 的时候,开启下拉刷新,可以配置顶部下拉的距离(threshold)来决定刷新时机,以及回弹停留的距离(stop) options.pullDownRefresh...= { threshold: 50, // 当下拉到超过顶部 50px 时,触发 pullingDown 事件 stop: 20 // 刷新数据的过程中,回弹停留在距离顶部还有 20px 的位置...并在刷新数据完成之后,调用 finishPullDown() 方法,回弹到顶部边界 this.scroll.on('pullingDown', () => { // 刷新数据的过程中,回弹停留在距离顶部还有
2D引擎方面,List组件增加橡皮筋回弹暂停功能,以及顶部和底部的数据请求等待刷新示例。...,通常会需要一个数据加载的等待动画出现在List数据之前,以前版本的List橡皮筋功能开启后,会自动回弹回去。...本次版本,List的滚动条上提供了stopMoveLimit属性,用于停止橡皮筋的自动回弹。...游戏逻辑关联引擎的停止滚动接口 this.refreshList.scrollBar.stopMoveLimit = this.scrollBarIsStopBind.bind(this); //顶部下拉限制...this.refreshList.scrollBar.topMoveLimit = 80; //底部上拉限制 this.refreshList.scrollBar.bottomMoveLimit = 50; //顶部下拉达到
android-Ultra-Pull-To-Refresh依赖: compile 'in.srain.cube:ultra-ptr:1.0.11 * 6个参数可配置: * 阻尼系数:默认1.7f,越大,感觉下拉时越吃力...* 回弹延时:默认 200ms,回弹到刷新高度所用时间 * 头部回弹时间:默认1000ms * 刷新是保持头部:默认值 true....header1.setBackgroundColor(Color.GRAY); ptr.setLastUpdateTimeRelateObject(this); //给下拉刷新设置下拉头部...header.setPtrFrameLayout(frameLayout1); //给下拉刷新设置下拉头部 MaterialHeader布局 frameLayout1...header1.setTextColor(Color.GREEN); header1.setBackgroundColor(Color.GRAY); //给下拉刷新设置下拉头部
框架: SmartRefreshLayout是目前为止笔者用过的嘴方便的刷新加载组件,它对下拉刷新功能进行系统的拆分、组合,主要由四个部分组成: RefreshLayout 下拉的基本功能,包括布局测量...、滑动事件处理、参数设定等等 RefreshContent 对不同内容的统一封装,包括判断是否可滚动、回弹判断、智能识别 RefreshHeader 下拉头部的实现和显示 RefreshFooter 上拉底部的实现和显示...通过SmartRefreshLayout框架,你可以在一个稳定强大的下拉布局中实现自己项目需求的 Header ,不用去关心滑动事件处理,不用关心子控件的回弹和滚动边界,只需关注自己真正的项目需求Header
框架 如果你看完了效果图,或许框架的意思应该有所了解了~~SmartRefreshLayout对下拉刷新功能进行系统的拆分、组合,主要由四个部分组成: RefreshLayout 下拉的基本功能,包括布局测量...、滑动事件处理、参数设定等等 RefreshContent 对不同内容的统一封装,包括判断是否可滚动、回弹判断、智能识别 RefreshHeader 下拉头部的实现和显示 RefreshFooter 上拉底部的实现和显示...通过SmartRefreshLayout框架,你可以在一个稳定强大的下拉布局中实现自己项目需求的 Header ,不用去关心滑动事件处理,不用关心子控件的回弹和滚动边界,只需关注自己真正的项目需求Header...我们注意看右边的图,仔细观察手指触摸的位置和下拉效果。可以看到在列表已经滚动到中部时,轻微下拉列表是不会触发刷新的,但是如果是触摸固定的布局,则可以触发下拉。...支持自定义回弹动画的插值器,实现各种炫酷的动画效果. 支持设置主题来适配任何场景的App,不会出现炫酷但很尴尬的情况.
下拉刷新 + 加载更多? 本类库是单纯的下拉刷新。...支持各种下拉刷新交互. 下拉刷新(iOS风格) ? 释放刷新(经典风格) ? 刷新时,头部保持(新浪微博) ?...gradle / Android Studio, 稳定版 compile 'in.srain.cube:ultra-ptr:1.0.11' 配置 有6个参数可配置: 阻尼系数 默认: 1.7f,越大,感觉下拉时越吃力...回弹延时 默认 200ms,回弹到刷新高度所用时间 头部回弹时间 默认1000ms 刷新是保持头部 默认值 true....检查是否可以下拉刷新在PtrDefaultHandler.checkContentCanBePulledDown中有默认简单的实现,你可以根据实际情况完成这个逻辑。
为实现下拉刷新功能,大多H5框架都是通过DIV模拟下拉回弹动画,在低端android手机上,DIV动画经常出现卡顿现象(特别是图文列表的情况); 通过双webview解决这个DIV的拖动流畅度问题;拖动时...,拖动的不是div,而是一个完整的webview(子webview),回弹动画使用原生动画;在iOS平台,H5的动画已经比较流畅,故依然使用H5方案。...两个平台实现虽有差异,但经过封装,可使用一套代码实现下拉刷新。....class等 down : { contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容 contentover : "释放立即刷新...容器 } 以上就是关于下拉刷新的MUI写法以及相关的function 函数,下面来看看下拉加载: 第一步,第二步 和下拉刷新的一样 第三步:通过mui.init方法中pullRefresh参数配置下拉刷新各项参数
本文将简单介绍如何实现微信小程序的下拉刷新 将要使用的api: wx.showNavigationBarLoading(Object object) wx.showLoading(Object...wx.stopPullDownRefresh(); } }) }, /** * 页面相关事件处理函数--监听用户下拉动作...注意相关api的配对使用 不要忘了在需要刷新结束时调用wx.stopPullDownRefresh(),否则,页面将会保持下拉状态、不会回弹。...· 此外,除了下拉刷新,有时候可能是在某个事件进行时触发刷新动作,此时可以调用wx.startPullDownRefresh(Object object) 此api的作用是:“ 开始下拉刷新。...调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。”
领取专属 10元无门槛券
手把手带您无忧上云