首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android仿抖音右滑清屏左滑列表功能的实现代码

布局结构 ​ 布局结构始终是界面设计时首先要考虑的一个问题,从接到一个需求开始,首先要根据项目中现有的布局结构,考虑如何更优雅的嵌入布局层次。...// 添加需要滑入的view fun addSlideView(view: RightSlideLayout) 这样我们在视频播放页面滑动,就可以在Container内判断手势,处理清屏控件或者滑出右侧滑块儿了...isCleared } }) 这里使用了属性动画ValueAnimator,其中 translateClearChild 负责移动View 代码如下: /** * 移动清屏控件...xVelocity = 0) { // 滑入情况下,向右滑距离超过宽度1/3,滑出滑块 startX = offsetX endX = width - mSlideView!!....mSlideInAnimator.isRunning) { // 未清屏 && 向右速度 10 && 没滑入滑块 && 滑块动画没执行的时候 ===》清屏 layerGoneWithAnim() }

2.3K21

Android列表动图展示的实现策略

”“、”关注”、“消息”、“我”4个tab都有动图,当我们点击其他页面时,当前页被隐藏,而根据Fresco的官方文档Fresco中文官方文档通常只有当SimpleDrawView被移出屏幕才会停止播放动画...animatable.stop(); } 只在可见区域展示 当我们做列表动图的时候,无论控件是listview还是recyclerview,数据和item的绑定都会在屏幕外绑定,而此时站在性能优化的角度上...,是不需要渲染动图的;当动图滑动在列表边界的时候,是不是说明用户的焦点已经不在这张图上了,所以此时可以提前在动图滑出屏幕外之前停止动图播放(在项目中我与产品商定动图播放和停止的边界值定为图片的1/2,也就是说图片滑入屏幕自身长度...也就是说当列表在做数据绑定的时候我们应当先去加载图片但并不渲染动图,动图播放和停止唯一的判断标准是滑入滑出屏幕的长度,如果是快速滑动则无视第二个规则直接停止所有的动图。...= null && tag == BEGAIN) { // 其他控制逻辑 anim.start(); } } }; 滑入屏幕时,就把tag 置为BEGAIN,滑出再置空就行了,并且这里我们不用担心重复播放和停止的问题

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

微信小程序自定义底部弹出框功能

本文实例为大家分享了微信小程序自定义底部弹出框的具体代码,供大家参考,具体内容如下 实现这么一个功能,点击选项进行选择,效果是从底部弹出选项框(带滑出动画),选择了某项或者点击其他地方,隐藏(带滑出动画...= setTimeout(function () {   that.slideIn();//调用动画--滑入   clearTimeout(time1);   time1 = null;  }, 100...);//调用动画--滑出  var time1 = setTimeout(function () {   that.setData({   hideFlag: true   })   clearTimeout...(time1);   time1 = null;  }, 220)//先执行下滑动画,再隐藏模块    },  //动画 -- 滑入  slideIn: function () {  this.animation.translateY...: this.animation.export()  })  },  //动画 -- 滑出  slideDown: function () {  this.animation.translateY(300

3.9K30

如何用 vue 制作一个探探滑动组件

一、功能分析 简单使用下探探会发现,堆叠滑动的功能很简单,用一张图概括就是: 简单归纳下里面包含的基本功能点: 图片的堆叠 图片第一张的滑动 条件成功后的滑出,条件失败后的回弹 滑出后下一张图片堆叠到顶部...体验优化: 根据触摸点的不同,滑动时首图有不同角度偏移 偏移面积判定是否成功滑出 二、具体实现 有了归纳好的功能点,我们实现组件的思路会更清晰。...答案没有那么简单,因为我们滑出动画效果,会进行300ms的时间,而currentPage变化引起的重排,会立即变化,打断动画的进行。...堆叠滑动效果已经出来了,但是探探在体验上,还增加了触碰角度偏移,以及判定滑出面积比例。...使用在stack中具体要做的是: touchmove中计算出所需角度和方向 touchend及onTransitionEnd中将角度至零 判定滑出面积比例,主要通过偏移量计算出偏移面积,从而得到面积比例

3K130

Human Interface Guidelines —— Page Controls

自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚...它显示为一系列小指示点,用来表示将按照顺序打开的可用页面。  实心点表示当前页面。 从视觉上来说,这些点总是等距离的,并且如果在屏幕上显示太多,则会被剪切。...导航总是顺序进行,通常是将页面从一边滑入滑出使用时注意 ·不要使用page control展示具有次级页面的页面 Page control不显示页面如何关联指示或者哪个页面对应于每个点。...·不要显示太多页面 超过10个点几乎难以一眼就知道个数,超过20个的打开页面顺序访问非常耗时。 如果您的app需要同时显示20多页,请考虑使用不同的排列方式(如grid),以实现非顺序导航。

47750

提升用户体验的前端动画

下面简单的拆分一下动画细节: 页面载入,卡片向上滑入 增加 pan 的手势,卡片跟随手指滑动 随着手指滑动,增加遮罩透明度与卡片阴影变化 增加向上和向下的边界条件的处理 动画与手势的运用 这些动画利用...点击超级会员专享,折上95折 banner,卡片向上滑入 这里直接使用 transition 控制过渡。...,其阴影的 blur,spread,color 也跟随变重 下面再加入 pan 手势,即拖拽或平移,这里我们使用这个手势实现弹层的拖拽和相关动画。...用户在向下滑动松手时的距离,如果大于某个值,让卡片滑出,关闭 poplayer,小于某个值,则回弹到原位。...这比较符合用户体验、防止误关闭,同时滑出的关闭方式也给了用户一种流畅感。经过本人多次测试,最终选择的下滑临界值为 180。

86320

Tab选项卡切换效果-自动切换

上节我们讲到了tab选项卡的手动切换效果和手动延迟切换效果,在延迟切换效果中,我们使用到了setTimeout函数,这节我们要实现手动自动选项卡的效果。...这里要使用到setInterval函数。 接下来是先把要切换的标题和内容选择出来,在tab函数中,我们还新建了一个index变量,用以保存索引值。...以上,当鼠标滑入时,定时器就清除了,但是当鼠标滑出时,就不动了,我们要的效果是当鼠标滑入时,停止自动;当鼠标滑出时,又能自动切换了。所以我们再给每个标题添加鼠标滑出事件。...这里出现了两个问题;第一,当自动切换时,效果正常,当鼠标滑入然后离开时,自动切换没有切换到我们鼠标滑入时的下一个标题,而是按照之前自动切换时的下一个标题来切换。...接下来我们解决刚提到的第一个问题,就是当鼠标离开时,我们要让下一个切换按照鼠标滑入的标题的下一个索引来切换,而不是自动切换时的下一个索引切换。

5.2K40

Flutter入门-路由导航

而人们常常说起的路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。...其中PageRoute 是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,其定义了路由构建及切换过渡动画的接口及属性。...设置为false时,在入栈新页面时,释放当前原路由所占用的资源 fullscreenDialog 新路由是否是一个全屏的模态对话框,例如在ios中,如果为true,则新页面从屏幕底部滑入,而不是水平...MaterialPageRoute对于不同平台,定义了不同的路由动画效果。...对于iOS,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入

1.2K20

UI 设计是什么?

大多数智能手机、平板电脑和任何使用触摸屏操作的设备都使用触觉输入; 语音用户界面:人与机器之间使用听觉命令进行的交互。例如,虚拟助理设备、文本对话和 GPS。 3....IA的组件包括三种主要类型的结构:层次(重要性级别)、顺序(步骤的逻辑顺序)和矩阵(用户在其中选择的内容组织)。...交互事件演示 实现页面跳转,使用鼠标交互、手势交互、键盘、延时等路径动画,制作引人入胜的产品演示。...丰富的转场动画 支持即时、溶解、智能动画、推动、滑入滑出等多种渐入渐出动效,轻松构建出色用户体验交互,体验最终产品形态。...缓动曲线设置 支持自定义曲线运动时间,支持线性动画、缓出动画、缓入动画、缓入缓出动画等设置。 4.3 视觉设计 众所周知,用户界面审美价值非常重要。

84030

“鼠标移入显示悬浮框”特效,也可以“高大上”

在效果当中,当用户将鼠标移入一个块时,会从鼠标的移入方向滑入一个悬浮块,悬浮块会随着鼠标移出当前块,且滑出方向遵循鼠标的移出方向(录制gif图像时不能够录制鼠标,因此无法展示鼠标位置)。...一种方法是为每个块定位四个悬浮块(上下左右),当满足鼠标移入的条件时,让相应的悬浮块滑入; 第二种方法是只为每个块定位一个悬浮框,每次鼠标移入时,先“初始化”悬浮块的位置,之后再控制悬浮框滑入。...在本文的案例当中,小编使用的是第二种方法(初始化悬浮块位置)来实现滑动。...为了便于理解,可以使用“对角线”将一个块划分为四个区域(如下A、B、C、D四个区域),与“鼠标移入方向”相对应。 ?...3.3.获取到鼠标的值,判断所处的区域 如何根据鼠标位置值,计算当前鼠标所在位置呢?根据当前X值,求出四条对角线(即Y的临界值),再根据该值进行判断。

5K90

使用CSS,带你创建一个漂亮的动画加载页面

这就是我为什么决定构建这样一个尽可能快速显示出来的动画加载界面,直到其余的所有内容都准备完毕。为了实现它,我们只使用了HTML和CSS,没有使用任何额外的技术。...---- 如何构建它 你想要构建的加载界面因设计的不同,构建过程也会不一样。为了更具有普适性,我将以我的设计为例。 注意,本文假设你已熟悉伪元素、CSS animation属性及关键帧动画。...现在开始 在决定仅用HTML和CSS构建它之前,我先做了一个动画版。 ? 它可以给我们一个很好的参考。正如你看见的,这个动画包含4步。 四个边框依次出现。 红色、桔色、白色矩形滑入。 三个矩形滑出。...因为默认情况下,元素最后一个到第一个的顺序叠在一块。每个元素都针对某一边绝对定位,将来会从这一边出现(如,红色矩形从left,桔色矩形从 bottom)。同时给它们适当的height或width。...我们使用关键帧让width“动起来”变成100%,接下来,让 height变成100%。 伴随着该转换,边框的颜色也在适当的时刻由透明变成黑色,这样顶部和右侧的边框就会我们预期的方式动起来。

2.3K20

国庆节前端技术栈充实计划(3):仅使用CSS做一个漂亮的动画加载页面

---- 如何构建它 你想要构建的加载界面因设计的不同,构建过程也会不一样。为了更具有普适性,我将以我的设计为例。 注意,本文假设你已熟悉伪元素、CSS animation属性及关键帧动画。...现在开始 在决定仅用HTML和CSS构建它之前,我先做了一个动画版。 ? 它可以给我们一个很好的参考。正如你看见的,这个动画包含4步。 四个边框依次出现。 红色、桔色、白色矩形滑入。...三个矩形滑出。 边框消失。 我们只需要构建第一步和第二步。使用 animation-direction:alternate; 可以实现动画的反向执行, 从而完成第3步和第4步的构建。...因为默认情况下,元素最后一个到第一个的顺序叠在一块。每个元素都针对某一边绝对定位,将来会从这一边出现(如,红色矩形从 left,桔色矩形从 bottom)。...我们使用关键帧让 width“动起来”变成100%,接下来,让 height变成100%。 伴随着该转换,边框的颜色也在适当的时刻由透明变成黑色,这样顶部和右侧的边框就会我们预期的方式动起来。

2.4K20

详解css中伪元素::before和::after和创意用法

制作一款特殊的鼠标滑入滑出效果 这个效果还是之前一个朋友从某网站看到之后问我能不能实现,我去那个网站查看了代码学会的,觉得很有趣,特意分享给大家。...这里可以看到,我们在没有给第一个伪元素的初始状态添加过渡效果,那是因为它只需要在从鼠标移出的时候展示动画即可,在鼠标移出的时候需要瞬间消失,所以在初始状态不需要添加过渡效果,而第二个伪元素恰恰相反,它在鼠标滑入的时候不需要展示动画效果...,在鼠标滑入也就是回归初始状态的时候需要展示动画效果,所以我们需要在最开始的时候就添加上过渡效果。...,让两个伪元素宽度都变为100%,由于鼠标滑入时我们并不需要第二个伪元素出现,所以这里我们给它的背景颜色设置为透明,这样就可以实现鼠标滑入时只展示第一个伪元素宽度从0到100%的动画,而鼠标移出时第一个伪元素宽度变为...0,因为没有过渡效果,所以它的宽度会瞬间变为0,然后展示第二个色块宽度从100%到0的动画效果。

1.2K40

前端成神之路-01_jQuery

从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate、hide、show,比如获取元素等。...更推荐使用第一种方式。 1.2.4. jQuery中的顶级对象$ 是 jQuery 的别称,在代码中可以使用 jQuery 代替,但一般为了方便,通常都直接使用 。...要想使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。...滑入滑出滑入滑出动画,常见有三个方法:slideDown() / slideUp() / slideToggle() ; ​ 语法规范如下: ?...总结: 每次使用动画之前,先调用 stop() ,在调用动画。 1.5.6. 事件切换 ​ jQuery中为我们添加了一个新事件 hover() ; 功能类似 css 中的伪类 :hover 。

12K10

Vue-transition组件的Css动画+过渡(1)入门,笔记总结 “建议收藏”

transition-timing-function 指定transition效果的转速曲线,默认ease (缓慢) transition-delay 定义transition效果开始的时候(延迟几秒)  这是一个从右侧滑出滑入同时淡入淡出的效果...(动画)这里也是只改css动画样式 先说下animation的参数作用 值 说明 1.animation-name 指定要绑定到选择器的关键帧的名称 2.animation-duration 动画指定需要多少秒或毫秒完成...3.animation-timing-function 设置动画如何完成一个周期 4.animation-delay 设置动画延迟间隔。...5.animation-iteration-count 定义动画的播放次数。 6.animation-direction 指定是否应该轮流反向播放动画。 ...reverse(反向播放) 7.animation-fill-mode 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

1.3K00
领券