首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android 二次优化个人封装仿网易新闻可滑动标题栏

和尚我前段时间根据超多 star 的 FlycoTabLayout 自己修改封装了仿网易顶部滑动标题栏 TabSlideLayout 滑动内容可以是文字也可以是网络图标,并整理了两篇小博客:...在滑动过程中没有回弹的动画效果,而 FlycoTabLayout 默认的滑动过程中也没有动画效果,而和尚我技术太渣,所以只能照葫芦画瓢,按照 FlycoTabLayout 中的 CommonTabLayout...---- 和尚我测试步骤如下: 在 attrs 中添加如下属性,分别时是否回弹效果/是否回弹/回弹效果时长;并在 TabSlideLayout 中添加相应的 get/set 方法,从而方便在 Java...,若只需要 item 点击时回弹效果,则直接设置 item 布局的点击事件既可以,调用步骤四的方法;若设置 ViewPager 滑动回弹效果,在 onPageSelected 方法中调用步骤四方法,并重写...以上基本可以实现滑动过程和点击过程中的回弹动画效果,但是有个效果不佳的地方是:中间内容滚动过程中,文字切换居中渲染颜色时很生硬,效果不佳。

74751

实现一个带下拉弹簧动画的 ScrollView

要是用它来做一个滑动控件下拉回弹的效果,应该不错吧。...看命名可以大概猜到参数的意义了: v - 要执行动画的控件 property - 动画的性质,可以选择平移、缩放、旋转等 finalPosition - 动画结束时,控件所在位置的坐标偏移量 这里实现的滑动控件是上下滑动的...在顶部并且是往下滑动的时候,给 ScrollView 设置一个纵向的偏移。之所以除以 3,是为了让控件有种要用力才能拖动的感觉。...在顶部的时候如果是往上滑动,则把动画效果取消,把控件位置复原,否则可能出现控件一直偏移的情况。 最后当手指抬起时,执行弹簧动画就好了。...下拉回弹的效果就已经完成了。对了,我们顺便把底部上拉的回弹也做一下呗。

1.2K80

9.视差特效、回弹动画、overScrollBy

视差特效  * 应用场景: 微信朋友圈, QQ空间, 微博个人展示,向下拉出,松开回弹 * 功能实现: > 1. 重写overScrollBy > 2....deltaY : 竖直方向的瞬时偏移量 / 变化量 dx   顶部到头下拉为-, 底部到头上拉为+ // scrollY : 竖直方向的偏移量 / 变化量 // scrollRangeY : 竖直方向滑动的范围...// maxOverScrollY : 竖直方向最大滑动范围 // isTouchEvent : 是否是手指触摸滑动, true为手指, false为惯性 Log.d(TAG, "deltaY:...boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_UP: // 执行回弹动画...final int endHeight = mOriginalHeight; //              valueAnimator(startHeight, endHeight); // 执行回弹动画

1.3K90

android ScrollView实现下拉放大头部图片

手指抬起时初始化各项参数,通过属性动画回弹控件。...mScaleTimes = 2f; public void setmScaleTimes(int mScaleTimes) { this.mScaleTimes = mScaleTimes; } // 回弹时间系数...,系数越小,回弹越快 private float mReplyRatio = 0.5f; public void setmReplyRatio(float mReplyRatio) { this.mReplyRatio...之后计算滑动的距离,若是往下滑动,则不处理,需要注意的是这个距离是指当前位置与最开始的ACTION_DOWN动作的距离,因此当这个距离小于0的时候,便是”没放大&&往下滑”,这个时候应该滑动的是ScrollView...当距离不小于0的时候,开始放大控件,可以看到调用了setZoom方法,注意,在这里其实控件的下拉放大、上拉恢复都做了, 回弹其实也是调用这个方法。 抬手的时候回弹,这个不需要说了。

1.3K00

iOS开发UIScrollView使用详解 原

@property(nonatomic) BOOL bounces;  设置是否开启回弹效果 @property(nonatomic) BOOL alwaysBounceVertical; 是否开启垂直方向的回弹效果...@property(nonatomic) BOOL alwaysBounceHorizontal; 是否开启水平方向的回弹效果 @property(nonatomic,getter=isPagingEnabled...; 设置是否显示竖直滑动条 @property(nonatomic) UIEdgeInsets scrollIndicatorInsets; 设置滑动条的位置 @property(nonatomic)...CGRect)rect animated:(BOOL)animated; 设置缩放显示到某个区域,可以带动画效果 @property(nonatomic) BOOL  bouncesZoom; 设置是否可以缩放回弹...    UIScrollViewKeyboardDismissModeInteractive, //手指滑动视图后可以与键盘交互,上下滑动键盘会跟随手指上下移动 }; 二、ScrollViewDelegata

1.6K30

【HarmonyOS 专题】07 简单了解 ScrollView 滑动组件

和尚在前面学习 Image 时当前屏幕展示不全,需要用到 ScrollView 滑动组件,和尚今天进一步学习一下; ScrollView ScrollView 是一种可滑动的组件,可以通过滑动在有限的空间内展示更多的空间组件...ScrollView 与 Android 中滑动组件不同,并没有设置滑动方向的属性,但是可以通过 ScrollView 内部的 Layout 设置水平滑动或竖直滑动;注意,当设置水平滑动时,内部的... 2. rebound_effect 回弹效果 ScrollView 可以通过 rebound_effect 属性设置回弹效果... 3. fluentScrollByX/Y 设置滑动距离 ScrollView 可以通过 fluentScrollBy 方式设置滑动距离...Component component) { scrollView.doFling(500); } }); 和尚对 ScrollView 高级的自定义方式还不够深入,后期会在自定义滑动列表组件时尝试更多回弹效果和速率方面的属性

59410

移动端轮播图效果实现

上面代码只实现了拖放元素,并没有实现轮播图上一张、下一张、回弹的功能,我们要根据用户滑动的距离来实现上一张下一张或者回弹的功能 touchend 手指离开时 根据滑动距离分不同的情况...translateX('+translateX+'px)'; flag=true;//移动时状态为正 e.preventDefault();//阻止滚动屏幕的行为 }); //手指离开时 回弹...ul.style.transform = 'translateX('+translateX+'px)'; }else{ //小于50像素回弹...,当滑动时才时这个标识生效,避免用户点击的时候触发轮播 2.在用户手指离开时我们先进行判断用户是否产生了滑动操作,如果产生了滑动操作则根据用户行为实现上一张、下一张、回弹效果 分为下面几种情况 2.1用户滑动距离取绝对值...>50 此时进行上一张下一张操作 2.1.1:当滑动距离>0时 代表右滑,此时实现上一张 2.1.2:当滑动距离<0时 代表左滑,此时实现下一张 2.2用户滑动距离取绝对值<50 此时实现回弹操作 并且在手指离开时我们清除了原来的滑动距离

1.6K10

移动端页面在IOS里滑动不顺畅解决办法

这时候可以使用-webkit-overflow-scrolling:touch这个属性,让滚动条产生滚动回弹的效果,就像ios原生的滚动条一样流畅 ? ?...简单说明一下: -webkit-overflow-scrolling :控制元素在移动设备上是否使用滚动回弹效果。 auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。...touch:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果,继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。...需要注意的事项: 通过动态添加内容撑开容器,结果根本不能滑动。 在safari上,点击其他区域,再在滚动区域滑动,滚动条无法滚动。

2K10

移动端轮播图

:   根据滑动的距离分不同的情况 如果移动距离小于某个像素  就回弹原来位置 如果移动距离大于某个像素就上一张下一张滑动。...滑动也分为左滑动和右滑动判断的标准是 移动距离正负 如果是负值就是左滑 反之右滑 如果是左滑就播放下一张 (index++) 如果是右滑就播放上一张  (index--) // 4.手指滑动轮播图...= e.targetTouches[0].pageX; //手指触摸的时候就停止定时器 clearInterval(timer); }); //移动手指touchmove: 计算手指的滑动距离...+ translatex + 'px) ' ;    flag = true;    e.preventDefault(); //阻止屏幕滚动的默认行为 }); //手指离开根据移动距离去判断是回弹还是播放上一张下一张...ul.style.transform =‘translateX(' + translatex +'px)' ; }else { // (2) 如果移动距离小于50像素我们就回弹

80940

从0开始打造UI框架:动态化框架Scrollview物理学算法解析

A:滚动,但是没有滚动到底部,速度逐步减小最终停止 B:滚动,最终会超过底部,回弹并最终停止 C:已经超过底部,直接回弹,但并不会反复弹,不像普通弹簧 1.  ...场景A 最容易想到的肯定是滑动摩擦,ScrollView由手指滑动带来了初始的速度,由于惯性的原因,ScrollView倾向于保持原有速度继续滚动,而施加的摩擦力使得滚动速度慢慢减少,最终停下来。...但是值得注意的是,如果滑动超过了边界,导致了回弹,这就不再是这种场景了。...场景B&场景C 场景B核心点是如果滚动很快并超过底部边界,最符合用户预期的应该是回弹停止到最底部,而不是像弹簧一样弹回来甚至反复弹。 场景C也一样,希望最终能回到边界,而不是弹力过强直接大幅度回弹。...使得超过边界的情况下,能回弹,但又不会反复回弹,最终回到边界区域。 ? 四、物理学模块的设计和实现 ? ?

99310
领券