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

Android ScrollView设置初始position的方法

最近接了产品的一个需求,需要在一个拥有标题栏,内容区,图片区的滚动视图中,默认隐藏标题栏,而且支持用户手动下拉出现标题。...动画的实现方案比较简单,进来之后等待一段时间,然后通过smoothScrollTo方法一点点的滚动ScrollView。然而,实验之后发现这个方法并不好用,没办法控制动画时间。...但是为难的是如何做到初始化ScrollView的默认滚动值。如果在onCreate里面调用scrollTo是无效的,因为这时候ScrollView都没有布局好。...当我看着上面动画的代码发呆的时候,突然注意到了scrollY这个值,为什么Animator能够通过这个值来调整ScrollView的滚动位置呢?...通过断点和查看源码确认,这个保存ScrollView当前滚动位置的scrollY属性全名叫做mScrollY,而这个mScrollY并不是ScrollView的成员,而是其父类View的属性成员。

4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    scrollPosition 修饰符来跟踪和设置滚动视图的位置。...我们还放置了两个按钮,允许你快速滚动到滚动视图中的第一个或最后一个项目。ScrollPosition 类型提供了许多重载的 scrollTo 函数,使我们能够处理不同的情况。...为滚动添加动画通过附加动画视图修饰符并传递 ScrollPosition 类型的实例作为 value 参数,我们可以轻松地为编程滚动添加动画。...提供一个可以运行示例下面是一个可以运行的示例代码,演示如何读取和显示滚动视图的位置。...我们介绍了如何使用 ScrollPosition 类型进行滚动位置的设置和读取,包括使用偏移量、视图标识符等方式进行操作。此外,我们还展示了如何通过动画和事件处理来增强用户体验。

    25810

    JS滑动滚动的n种方式

    值: 如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。...如果为false,元素的底端将和其所在滚动区的可视区域的底端对齐。相应的scrollIntoViewOptions: {block: "end", inline: "nearest"}。...scrollIntoViewOptions 可选 一个包含下列属性的对象: behavior 可选 定义动画过渡效果, "auto"或 "smooth" 之一。默认为 "auto"。...一个元素的 scrollTop 值是这个元素的内容顶部(卷起来的)到它的视口可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。...5 window.scroll或element.scroll 滚动相关的api还包含这位,不过经查,该api和scrollTo效果完全相同 ---- 接下来是没什么用系列滚动api 6 window.scrollByLines

    6.6K10

    点击按钮,回到页面顶部的5种写法

    :scrollTo(x,y)方法滚动当前window中显示的文档,让文档中由坐标x和y指定的点位于显示区域的左上角,设置scrollTo(0,0)可以实现回到顶部的效果 1 <body style="height...(0,0); 6 } 7 8 4.scrollBy():scrollBy(x,y)方法滚动当前window中显示的文档,x和y指定滚动的相对量,只要把当前页面的滚动长度作为参数...为回到顶部增加动画效果,滚动条以一定的速度回滚到顶部 动画有两种:一种是CSS动画,需要有样式变化配合transition;一种是javascript动画,使用定时器来实现  ...在上面的5种实现中,scrollTop、scrollTo()和scrollBy()方法可以增加动画,且由于无样式变化,只能增加javascript动画 定时器又有setInterval、setTimeout...()方法,都以scrollTop值是否减少为0作为动画停止的参照,且三个动画的原理和实现都基本相似,性能也相似。

    2.7K30

    不再迷惑,也许之前你从未真正懂得 Scroller 及滑动机制

    上图中绿色的区域,代表 View 中内容的区域,它相对于 (mLeft,mTop)位置进行了偏移,但是背景与内容的显示区域并没有发生偏移,也就是说内容区域虽然偏移了,但是它能够显示的区域也只有在上图中的黑色框线以内...再谈 scrollBy() 和 scrollTo() 代码已经解释的很清楚了,scrollBy() 在当前 mScrollX 和 mScrollY 的基础上添加偏移量调用了 scrollTo()。...但是,它只是提供滚动时的数据变化,它本身不控制对于 View 的滚动动画。如何制作的平滑的滚动效果,这个责任在于开发者自己,Scroller 能做的就是提供数值及时间在一个滚动动画周期中的值。...() 方法,在此获取 Scroller 动画当前数值,根据相应的规则调用 scrollTo() 设置 mScrollX 或者 mScrollY 的值,产生滚动的效果。...反正目的只有一个,那就是让 Scroller 的 computeScrollOffset() 方法多次调用,然后获取它的数值多次调用 scrollTo() 方法达到滚动动画效果。

    1.7K10

    基于JS实现回到页面顶部的五种写法(从实现到增强)

    ()   scrollTo(x,y)方法滚动当前window中显示的文档,让文档中由坐标x和y指定的点位于显示区域的左上角   设置scrollTo(0,0)可以实现回到顶部的效果 <body style...(0,0); } 4】scrollBy()   scrollBy(x,y)方法滚动当前window中显示的文档,x和y指定滚动的相对量   只要把当前页面的滚动长度作为参数...  为回到顶部增加动画效果,滚动条以一定的速度回滚到顶部   动画有两种:一种是CSS动画,需要有样式变化配合transition;一种是javascript动画,使用定时器来实现     在上面的5...种实现中,scrollTop、scrollTo()和scrollBy()方法可以增加动画,且由于无样式变化,只能增加javascript动画   定时器又有setInterval、setTimeout和...()方法,都以scrollTop值是否减少为0作为动画停止的参照,且三个动画的原理和实现都基本相似,性能也相似。

    6K21

    动手练一练,手写一个价格对比、固定表头滚动的表格

    二、案例相关知识点复习 这篇案例我们是通过JS代码,判断滚动条的位置,动态添加和移除表头的固定样式(fix属性),这里就需要运用几个和位置相关 DOM API 才能顺利完成本案例,相关 API 介绍如下所示...3、编写滚动的相关逻辑 每次我们滚动时,就会执行我们定义的 scrollHandler 函数,我们这个函数只会在窗口宽度大于 780px 才会执行固定表头的逻辑,小屏设备则没有相关效果。...获取用户从视口顶部滚动的距离(pageYOffset) 获取最后一部分内容区域距离窗口顶部的高度(getBoundingClientRect().top) 检测滚动条是否滚动到表格区域。...如果滚动到表格区域,获取重置后的表头宽度。 接下来我们来判断第三部分内容区域距离视口顶部的高度是否大于表头的高度。...由于窗口大小并非固定,我们会经常会拖动或调整窗口的大小,因此相关元素的宽度和视口高度都要重新计算,这里我们需要添加 resize 事件进行监听,示例代码如下: window.addEventListener

    3.2K31

    Web浏览器滚动方案一览| rAF等

    其中,请求动画帧(requestAnimationFrame,简称rAF)是一种常用的技术。rAF通过优化动画效果的渲染,可以避免卡顿和过度绘制的问题。...此外,还有其他滚动方案如CSS动画、滚动事件监听等等,开发人员可以根据具体需求选择合适的方案。通过合理选择和应用这些滚动方案,我们可以提供更加流畅和优化的用户体验。...// 将页面滚动到坐标 (0, 100) window.scrollTo(0, 100);// 将元素 elem 滚动到坐标 (0, 0)elem.scrollTo(0, 0);scrollTo 方法支持传入...例如:window.scrollTo({ top: 100, behavior: 'smooth'});scrollTo 方法对整个页面和单个元素都起作用,常用于点击某个按钮后滚动到页面指定位置,或者滚动元素内部内容...API 中behavior参数的兼容性,所以通常需要补充一下非现代浏览器的方法作为兜底:实现基于raf的滚动函数ScrollTo /*** @description 基于raf的滚动函数* @param

    16710

    Vue组件设计-表单分页

    表单分页在后台管理系统中最为常见,几乎所有的表格页面都会用到,但是一般的UI框架分页组件在点击切换分页后,都没有自动滚动置顶的功能,为了更好的用户体验以及全局复用,有必要自己封装一个分页组件。 1....滚动置顶的实现 上面的代码中引入了一个滚动置顶的方法,关于滚动置顶,虽然我们可以用scrollTo这个方法简单粗暴的实现,但是一个好的滚动方案需要考虑动画方案和滚动缓冲,以下是代码实现。...return c / 2 * t * t + b; }; t--; return -c / 2 * (t * (t - 2) - 1) + b; }; // 采用的动画方案...export function scrollTo(to, duration, callback) { const start = position(); const change =...// 移动页面所有 move(val); // 持续动画结束 if (currentTime < duration) { requestAnimFrame

    55030

    rAF实现表格内容自动滚动

    目标: 让表格的内容会自动滚动 鼠标悬浮,动画停止 到底后会自动回到顶部,继续滚动 element表格自带滚动 首先呢,element的表格是自带了滚动效果的,但是需要小小的设置一下。...窗口没激活时,动画将暂停以提升性能和电池寿命 实现自动滚动 获取el-scrollbar 容器 需要实现自动滚动,首先得获取el-scrollbar 容器。...,需要编写我们的滚动动画方法,很简单,只需要让滚动容器的scrollTop一直加就行了。...()方法时返回的 ID,和定时器方法一样,所以我们调用window.requestAnimationFrame()方法时,需要使用一个变量接住它,方便停止的时候使用。...也就是说,scrollTo方法的参数添加 behavior: "smooth"来让它圆滑的回滚到顶部。 但是,我们添加了这个选项后,反而不回滚了。这是因为动画一直都还在,回滚速度又不够动画的。

    2.1K20

    Web前端实现锚点功能的三种方式

    ,选项包括 behavior,定义动画过渡效果, "auto"或 "smooth" 之一。...默认为 "auto",没有动画; 取值 "smooth"时,将匀速滚动。 block,定义垂直方向的对齐, "start", "center", "end", 或 "nearest"之一。...默认为 "start",元素顶部将滚动到视窗顶部; 取值 "end",元素底部将和视窗底部对齐; 取值 "center",元素中线将和视窗中间对齐; 取值 "nearest",元素将就近对齐。...含义同 block 选项的取值。 三、scrollTo/scrollBy window.scrollTo 可将视窗滚动到指定的坐标。...Element.getBoundingClientRect 的返回值包含 top、left、bottom、right、width 和 height 六个属性,除了 width 和 height 以外的属性均是相对于视窗的左上角来计算的

    3.7K31

    Android Scroller用法

    设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。...//设置mScroller最终停留的水平位置,没有动画效果,直接跳到目标位置 mScroller.setFinalY(int newY) //设置mScroller最终停留的竖直位置,没有动画效果,直接跳到目标位置...()) { //这里调用View的scrollTo()完成实际的滚动 scrollTo(mScroller.getCurrX(), mScroller.getCurrY()); //必须调用该方法...,否则不一定能看到滚动效果 postInvalidate(); } super.computeScroll(); } } invalidate和postInvalidate区别 两者作用一样都是通知...UI刷新,但是invalidate只能在UI线程中调用,postInvalidate则在非UI线程中调用 scrollTo scrollTo(x,y)是View的方法,其中x,y参数可以理解为View的左上角坐标从

    1.2K10

    Android应用坐标系统全面详解

    2-3 Android View动画相关坐标系 其实在我们使用动画时,尤其是补间动画时,你会发现其中涉及很多坐标参数,一会儿为相对的,一会儿为绝对的,你可能会各种蒙圈。...2-4 Android View滑动相关坐标系 关于View提供的与坐标息息相关的另一组常用的重要方法就是滚动或者滑动相关的,下面我们给出相关的解释(特别注意:View的scrollTo()和scrollBy...关于Android View的scrollBy()和scrollTo()参数传递正数却向坐标系负方向移动的特性可能很多人都有疑惑,甚至是死记结论,这里我们简单给出产生这种特性的真实原因—-源码分析,如下...scrollTo()和scrollBy()方法特别注意:如果你给一个ViewGroup调用scrollTo()方法滚动的是ViewGroup里面的内容,如果想滚动一个ViewGroup则再给他嵌套一个外层...,滚动外层即可。

    1.4K10

    介绍一个页面平滑滚动小技巧

    背景 今天写需求的时候发现一个小的优化点:用户选择了一些数据之后, 选择的条目需要高亮, 有时候列表很长, 为了提升用户体验,需要加个滚动, 自动滚动到目标位置。...布尔值 * 如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。...* 如果为 false,元素的底端将和其所在滚动区的可视区域的底端对齐。...1. behavior表示滚动方式。auto 表示使用当前元素的 scroll-behavior 样式。instant`和`smooth表示`直接滚到底`和`使用平滑滚动`。...start表示将视口的顶部和元素顶部对齐;center表示将视口的中间和元素的中间对齐;end表示将视口的底部和元素底部对齐;`nearest`表示就近对齐。

    1.3K20
    领券