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

    HarmonyOS 开发实践——ArkUI组件嵌套滚动优化实践

    Scroll作为父组件响应滚动手势,Web和List组件禁用滚动手势,滚动偏移量由父组件Scroll给Web和List组件派发。...2.1 派发逻辑:手势向上滑动1)如果web没有滚动到底部,则Scroll将滚动偏移量派发给web,Scroll组件本身不滚动2)如果web滚动到底部,Scroll没有滚动到底部,则Scroll自身滚动...,不给Web和List派发滚动偏移量3)如果Scroll滚动到底部,则滚动偏移量派发给List,Scroll组件本身不滚动手势向下滑动1)如果List没有滚动到顶部,则Scroll将滚动偏移量派发给List...,Scroll组件本身不滚动2)如果List滚动到顶部,Scroll没有滚动到顶部,则Scroll自身滚动,不给Web和List派发滚动偏移量3)如果Scroll滚动到顶部,则滚动偏移量派发给Web,Scroll...组件绑定onScrollFrameBegin事件,将剩余偏移量设置为03.6 滚动偏移量派发通过对应组件滚动控制器的scrollBy方法设置4.

    21320

    Android必知必会 - RecyclerView 恢复上次滚动位置

    记录 RecyclerView 滚动位置并恢复是一个很常见的需求,通常需要精准恢复到上次的位置。...预计会用到 RecyclerView 相关的三个知识点: 监听 RecyclerView 滚动状态 监听 RecyclerView 完成绘制 滚动 RecyclerView 到指定的位置 思路: 在「RecyclerView...完成绘制」时,记录首个元素的偏移量作为基础偏移量;此步非必须流程,根据自己实际情况看是否需要,有些情况此基础偏移量为0,即不存在基础偏移量的问题; 在「监听 RecyclerView 滚动状态」里,滚动结束时...,记录最左侧的元素坐标和偏移量; 再次打开当前页面时,检查是否存在偏移量信息的记录,有则进行位置恢复,即「滚动 RecyclerView 到指定的位置」。...前置知识 监听 RecyclerView 滚动状态 调用 recyclerView.addOnScrollListener(onScrollListener); 来设置 RecyclerView 的滚动监听器

    2.1K20

    HarmonyOS 开发实践——基于WaterFlow的页面滑动加载

    方案在瀑布流分组中为要吸顶的部分预留出位置,监听瀑布流滚动事件,吸顶部分基于瀑布流滚动后的偏移量设置位置,让吸顶部分跟随瀑布流一起滚动,吸顶部分到顶后固定不动。...3、设置瀑布流的onWillScroll事件回调,监听瀑布流的滚动,吸顶部分基于瀑布流滚动后的偏移量设置位置,让吸顶部分跟随瀑布流一起滚动。...//监听滚动事件,获取当前滚动偏移量和将要滚动的偏移量,scrollOffset保存滚动后的偏移量。....:number) => {  this.scrollOffset = this.scroller.currentOffset().yOffset + offset //currentOffset 当前滚动的偏移量...)}.height(100)  .hitTestBehavior(HitTestMode.Transparent)    //this.scrollOffset滚动后的偏移量   滚动后的偏移量大于吸顶部分到顶部距离时

    12310

    Scorller的使用详解

    Scrollers随着时间的推移跟踪滚动的偏移量,但不会自动将这些位置设置给你的view。 你有责任按一定的频率去获取当前滚动的坐标并应用在你的view上以使滚动动画看起来很顺滑。...你可以使用此方法获得x和y坐标的当前偏移量,例如: if (mScroller.computeScrollOffset()) { // Get current x and y positions int...final int getCurrX() 返回滚动中当前的X偏移量。 final int getCurrY() 返回滚动中当前的Y偏移量。...最终int getFinalY() 返回滚动结束的y坐标值。 final int getStartX() 返回滚动中的起始X偏移量。...final int getStartY() 返回滚动中的起始Y偏移量。 final boolean isFinished() 返回滚动滚轮是否完成滚动。

    61510

    使用 UICollectionView 实现分页滑动效果

    scrolling - for layouts that want snap-to-point scrolling behavior 这个函数的返回值,决定了 UICollectionView 停止滚动时的偏移量...,可以通过重写这个函数来实现自定义的分页滚动,重写这个函数的逻辑思路如下: 1.定义一个坐标点 CGPoint 来记录最新滚动的偏移坐标2.定义俩个值分别为 UICollectionView 可滚动的最大偏移量与最小偏移量也是就...03.每次滚动停止都会调用上述的函数 func targetContentOffset(...), 在这个函数中有一个参数 proposedContentOffset 记录了滚动的目标位移坐标,通过这个坐标和记录的上次滚动的坐标可以判断出是向左滚动还是向右滚动...;如果小于那个固定值,则不发生分页5.最后记录最新的偏移坐标,然后返回 UICollectionView 停止滚动时的偏移量 Talk is cheap, show me the code, 代码实现如下...decelerationRate = .fast } // 这个方法的返回值,决定了 CollectionView 停止滚动时的偏移量 override func targetContentOffset

    3.1K20

    如何使用 SwiftUI 中 ScrollView 的滚动偏移

    为了弥补这一不足,SwiftUI 引入了新的 ScrollPosition 类型,使我们能够通过偏移量、滚动视图的边缘、视图标识符等组合滚动位置。...新的 ScrollPosition 类型SwiftUI 框架引入了新的 ScrollPosition 类型,使我们能够通过偏移量、滚动视图的边缘、视图标识符等组合滚动位置。...每当滚动视图滚动时,geometry?.contentBounds.origin 将提供当前滚动位置的偏移量。...我们将这个偏移量存储在 scrollOffset 状态属性中,并在视图底部显示当前的滚动位置。...我们介绍了如何使用 ScrollPosition 类型进行滚动位置的设置和读取,包括使用偏移量、视图标识符等方式进行操作。此外,我们还展示了如何通过动画和事件处理来增强用户体验。

    26110

    Threejs入门之二十二:Threejs中的屏幕坐标转标准设备坐标

    screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量。 screenY:鼠标点击位置相对于电脑屏幕左上角的垂直偏移量。...pageX:鼠标点击位置相对于网页左上角的水平偏移量,也就是 clientX + 水平滚动条滚动的距离。...pageY:鼠标点击位置相对于网页左上角的垂直平偏移量,也就是 clientY + 垂直滚动条滚动的距离。 坐标系上某一个元素的pageX/pageY 不会 随着滚动条滚动而改变。...clientX:鼠标点击位置相对于浏览器可视区域的水平偏移量(不会计算水平滚动的距离)。 clientY:鼠标点击位置相对于浏览器可视区域的垂直偏移量(不会计算垂直滚动的距离)。...坐标系上某一个元素的clientX/clientY 会 随着滚动条滚动而改变。

    2.3K10

    模仿iOS多任务切换卡片滑动的交互实现

    利用贝塞尔曲线函数的特性,编号靠前的卡片(1,2,3)的偏移量“滞后”,编号靠后的卡片(4,5,6)的偏移量“追赶”,这样保证了编号靠后的卡片(较新的App任务)布局密度降低,从而有更大面积的展示。...计算每一个卡片的偏移量,卡片的大小随偏移量成正比,效果如下图: 接下来我们用几张App截图代替颜色交替的卡片并赋予其动效。...原本的实现方式是控件自监听平移(Pan)事件,通过x轴方向的平移偏移量,计算卡片容器中各个卡片的偏移量,从而实现卡片滚动动效。...但平移过后的惯性滑动要自行计算,滑动手感不够流畅,最终效果并不理想,因此改用MAUI的ScrollView控件作为滚动框架 因此滚动行为(滚动阻尼,滚动惯性等)由各平台的原生代码实现。...VisualElement).TranslateTo(offsetX, 0, 0); } } } 静态效果如下: RenderTransform方法的形参scrollX为滚动框架的滚动偏移量

    40130

    从数字滚动动画看自定义View的绘制思路

    所有位数相同速度滚动: ? 从左到右侧由快到慢滚动: ? 从左到右侧由慢到快滚动: ? 自定义每位数字的速度滚动(每帧滚动的像素): ?...去绘制出来,在绘制的Y坐标不断增加偏移量,去改变绘制的高度,通过handler.postDelayed(this, 20);不断增加偏移量,并且不断判断所有位数字最后一行绘制完毕的时候,结束handler...+ pianyiliangSum[j] 我们还需要几个辅助的方法: 1.每隔20毫秒去计算当前偏移量并通知刷新。...我们还需要几个供给用户调用的方法: 1.start开始滚动。 2.设置滚动行数maxline。 3.设置偏移量速度数组。...4.可能用户不希望每次都设置偏移量数组那么我们提供三种默认的偏移量速度数组(高位快,高位慢,速度相同) 回顾 在自定义view的时候如果你的view是像本文一样,循环去绘制不断刷新的话,就意味着

    2.7K30

    如何实现类似“jenkins”的滚动日志功能?

    本文实现了一个类似jenkins滚动日志的小功能,如果你正在做发布系统类似的东西,这个功能会非常有用。 滚动日志 jenkins的日志能够滚动显示,关闭后重新进入依然能够继续滚动,非常棒。...传入的参数只有一个,就是文件偏移量。 ? 我觉得我们可能想一块儿去了。 整个过程还是比较简单的,下面简短的描述下,并附上最主要功能的代码块。 服务端 开启一个新的线程执行构建 过程如下: ?...所以需要有定时清理进程,去更新长时间没有相应的线程状态 3) 通过添加一个内存Map,可以很容易实现正在执行的JOB功能 根据提供的偏移量读取文件内容 String logPath = "tmp.log...(sb.toString(),realSkip ,status); 本段代码试图通过传入的文件偏移量,读取当前文件剩余的内容返回给用户。...如果文件持续写入,通过不断的轮询,就可以达到滚动日志的效果。 不多说,看注释即可。

    2.2K10

    歌词显示控件的实现(下)——自定义View

    但是,怎样才能让让自己的音乐播放器的歌词像网易云音乐一样,随音乐(歌词时间)滚动、当前歌词高亮、其他歌词渐变等效果呢?...View中,并设置各种效果和动画,而在绘制之前我们需要计算出文字的位置,而歌词又是以 行 为单位来显示,所以,计算行高和行间距,当然,还需要一些文字颜色等属性; 可以想到,歌词会随着音乐或者说时间进行滚动...,所以我们需要对纵向偏移量进行计算和处理,并设置滚动动画; 接下来就应该逐行进行绘制了,之后可以给当前播放位置绘制指示器以提高逼格; 用户可以手势滑动歌词进行查看,之后还需要回滚,所以我们需要对手势,也就是...06 — 计算偏移量 ? 既然LyricView能够实现滑动功能,那么引入scrollY值记录滑动偏移量,并控制视图绘制效果也就顺理成章。...在上篇中,我们也知道每一句歌词中都包含着开始时间,而我们也就可以通过当前歌曲播放进度匹配当前播放的行数 mCurrentPlayLine,并通过当前播放所在行,计算偏移量scrollY的值,控制歌词播放滚动和当前播放位置的高亮显示

    1.2K10

    selenium滑块解锁实现的研究

    由于各个网站的防爬技术的提高,常规selenium似乎无法通过滑块验证,以下提供普遍的滑块验证思路,以供参考:获取滑块本身的元素以及滑块所在长条的元素根据滑块元素的size和所在矩形元素的size便能得到滑块的偏移量使用...selenium库中的actionChains中的click_and_hole和move_by_offset来控制滑块行动根据滑块本身的大小以及承载滑块的div的大小来获取偏移量offx slide1...background_size["width"] - start_location["x"] y_location = start_location["y"]然后通过对滑动轨迹:即一定时间内滑动的偏移量的变化...浏览器页面滚动使用JS进行滚动因为一般滚动条都不作为单独的元件出现,而是附庸在某个div或table上,当这些元件展示内容过多时便会自动出现滚动条,所以难以通过selenium定位然后actionChains...调用方法进行拖拽的方式控制页面滚动,需要通过JS来完成对滚动条的操作。

    20910
    领券