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

ScrollView .scrollTo无法正常工作?在旋转时保存ScrollView位置

ScrollView是一种用于显示可滚动内容的视图组件,它可以在垂直或水平方向上滚动显示超出屏幕范围的内容。.scrollTo是ScrollView组件的一个方法,用于将滚动位置滚动到指定的偏移量。

当ScrollView在旋转时无法正常工作,可能是由于以下原因之一:

  1. 错误的使用方法:确保正确调用.scrollto方法,并提供正确的偏移量参数。偏移量应该是一个包含x和y坐标的对象,表示滚动位置相对于ScrollView内容的偏移量。
  2. 布局问题:旋转屏幕可能会导致布局重新计算和调整,这可能会导致ScrollView的位置和大小发生变化。在旋转之前,可以尝试使用ScrollView的measure和layout方法获取当前的位置和大小,并在旋转后重新应用这些值。
  3. 生命周期问题:旋转屏幕会触发Activity或Fragment的生命周期方法,例如onConfigurationChanged。在这些方法中,可能需要重新设置ScrollView的位置,以确保它保持在旋转之前的位置。

推荐的腾讯云相关产品:腾讯云移动应用分析(MTA),它是一款提供移动应用数据分析服务的产品。它可以帮助开发者了解用户行为、应用性能和用户群体等信息,从而优化应用的功能和用户体验。MTA提供了丰富的数据分析功能和可视化报表,可以帮助开发者深入了解应用的使用情况,并根据数据进行决策和优化。

产品介绍链接地址:腾讯云移动应用分析(MTA)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android ScrollView设置初始position的方法

但是为难的是如何做到初始化ScrollView的默认滚动值。如果在onCreate里面调用scrollTo是无效的,因为这时候ScrollView都没有布局好。...当我看着上面动画的代码发呆的时候,突然注意到了scrollY这个值,为什么Animator能够通过这个值来调整ScrollView的滚动位置呢?...于是自己动手在onCreate的时候通过反射修改ScrollView的scollY属性。结果调试发现ScrollView压根没有这个属性。为什么呢?...前面已经尝试scrollTo在onCreate的时候就设置的话是无效的。...通过断点和查看源码确认,这个保存ScrollView当前滚动位置的scrollY属性全名叫做mScrollY,而这个mScrollY并不是ScrollView的成员,而是其父类View的属性成员。

4K80

android 初始界面 scrollTo无法执行

在Activity 的 onCreate() 方法(貌似在onStart和onResume也一样)中, 调用 mScrollView.scrollTo(0, 100); 是无效, 没有效果的....找了半天, 终于在 http://stackoverflow.com/questions/3263259/scrollview-scrollto-not-working-saving-scrollview-position-on-rotation...(Google 还是好过百度啊, 可惜快照不能用了) scrollTo() 是直接指定滚动条的位置, 但是由于这个动作不是单纯关于 ScrollView 而已, 还要根据 ScrollView...在Activity 初始化过程中, 要指定滚动条位置, 必须用下面的代码 [java] view plain copy mScrollView.post(new Runnable() {...这也间接说明了, 在Activity 没初始化完成, ScrollView 对象获取的一些信息是不准确的, 直接导致了scrollTo() 方法无效.

83220
  • 【Android从零单排系列二十六】《Android视图控件——ScrollView》

    二 ScrollView使用方法 在XML布局文件中定义ScrollView容器。在需要可滚动内容的区域内添加ScrollView标签,并指定其宽度、高度以及其他属性。...-- 在这里添加您的内容视图 --> ScrollView> 在ScrollView内部添加内容视图。在ScrollView标签内部,可以放置各种UI组件来展示要滚动的内容。...为了让ScrollView正常工作,内容视图的高度应根据其内容进行适当调整。您可以通过设置高度为"wrap_content"或固定高度,或使用权重来控制内容视图的高度。...android:fadeScrollbars:控制滚动条是否在不活动状态时渐隐。设置为true表示滚动条会渐隐,默认为false。...常见方法: scrollTo(int x, int y):将ScrollView滚动到指定的位置,参数x和y分别代表目标位置的水平和垂直偏移量。

    42520

    深入了解 SwiftUI 5 中 ScrollView 的新功能

    可采用 优化在 SwiftUI List 中显示大数据集的响应效率[5] 一文中介绍的方式来解决。 scrollPostion(id:) 使用此修饰符可以让滚动视图滚动到特定的位置。...仅适用于 ScrollView 当 ForEach 中的数据源遵循 Identifiable 协议时,无需显式使用 id 修饰符设置标识 与 scrollTargetLayout 配合使用,可以获取当前的滚动位置...proxy.scrollTo(items.last!....滚动停止时,容器顶端将与子视图的顶部对齐(在垂直模式下)。开发者可以通过控制 scrollTargetLayout 的启用与否来开关 viewAligned 的行为。...scrollTransition 其实,在很多场景下,我们并不需要通过 NamedCoordinateSpace.scrollView 获取非常精确的位置关系。

    85320

    用 SwiftUI 的方式进行布局

    offset 则是在渲染层面进行的位置调整,即使出现了位置变化,其他视图在布局时,并不会将其位移考虑在其中。...通过命名空间以及 ID 来保存特定视图的几何信息( 位置、尺寸 ),并自动设置给其他有需求的视图。...通过 matchedGeometryEffect 分别为该站位视图的顶部和底部设置了两个标识符以保存信息。 让视图一、视图二在两个状态下分别使用对应的 ID 位置,即可实现本文需求。...通过设定 scrollTo 的 anchor,在合理的要求下,我们可以让视图停在特定位置。...SwiftUI 在进行布局时,当布局容器给出的建议尺寸无法满足全部子视图的需求尺寸时,会根据子视图的 Priority,优先满足级别较高的视图的布局需求。

    4.8K80

    用 SwiftUI 的方式进行布局

    offset 则是在渲染层面进行的位置调整,即使出现了位置变化,其他视图在布局时,并不会将其位移考虑在其中。...通过命名空间以及 ID 来保存特定视图的几何信息( 位置、尺寸 ),并自动设置给其他有需求的视图。...通过 matchedGeometryEffect 分别为该站位视图的顶部和底部设置了两个标识符以保存信息。 让视图一、视图二在两个状态下分别使用对应的 ID 位置,即可实现本文需求。...通过设定 scrollTo 的 anchor,在合理的要求下,我们可以让视图停在特定位置。...SwiftUI 在进行布局时,当布局容器给出的建议尺寸无法满足全部子视图的需求尺寸时,会根据子视图的 Priority,优先满足级别较高的视图的布局需求。

    3.3K00

    Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

    做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动到底部或者顶部 2....ScrollView滚动到顶部或者底部时主动触发一些操作(典型的就是滚动到底部触发自动加载操作) 两种方式: 1. onScrollChanged方式,自己计算 2. onOverScrolled使用系统计算的结果...,api >= 9才支持 可能忽视的细节1: 如果是手势滑动,上面两种方式都对,但是如果是调用ScrollView的smoothScrollTo和scrollTo方法来滚动的话, 只有onScrollChanged...滚动,上面这个原则就是对的,如果要考虑的话,这里只能使用onScrollChanged 滚动到顶部和底部时对应的计算关系: ?...在处理滚动的时候动态计算那个scrollY的时候也会出现超过边界再修正的情况 } private void notifyScrollChangedListeners() {

    3.6K70

    掌握 SwiftUI 中的 ScrollView:滚动几何

    SwiftUI 是一个强大的框架,它简化了在苹果平台上构建用户界面的过程。SwiftUI 中的一个基本组件是 ScrollView,它允许用户通过滚动导航内容。...然而,管理滚动位置和理解滚动交互可能是一个挑战。...什么是 ScrollPositionScrollPosition 是一种类型,允许开发者以编程方式读取或更改滚动位置。虽然有用,但当用户使用手势与滚动视图交互时,它显得不够全面。...当按下按钮时,滚动视图会将其内容偏移移动到指定点。然而,我们无法读取用户通过手势交互设置的具体内容偏移。...在使用 onScrollGeometryChange 视图修饰符时,我们将 ScrollData 作为转换闭包的返回类型,从 ScrollGeometry 实例中提取所有所需的数据。

    13611

    关于Android PullTorefreshScrollview回到顶部实例

    在自定义imageview里面定义线程,扫描当前scrollY和上一次保存的对比,不一样即说明仍在滚动,一样即表明scrollview滚动停止了。  什么时候开启线程呢?...在onTouch回调中down、move或者up时调用。  试想下:  如果在down中调用时,用户只在scrollview上点击或短距离滑动,imageview里面要不停地开启线程?浪费资源。 ...于是,我选择在move中调用imageview地线程。有人会想,这样会不会启动N多个线程呢?move一直在移动呢。“在iamgeview判断下线程的状态即可,如果已经启动了,就不启动呗”。...(targetView == null) throw new IllegalArgumentException("please set targetView who to scrollTo...此处不要传递scrollview的scrollY值进来。比喻当你手指离开屏幕后,之前传递进来的scrollY就已经过时了,scrollview仍在滑动。

    93790

    仿淘宝、京东拖拽商品详情(可嵌套ViewPager、ListView、WebView、FragmentTabhost)实现效果图实现

    scrollview+webview.gif ScrollView+ViewPager 适用场景:底部需要添加多个界面,并且需要滑动 ?...scrollview+viewpager.gif ScrollView+Fragmenttabhost 适用场景:底部需要添加多个界面,但是不需要滑动 ?...UPSTAIRS; } } 然后集中处理滚动事件,对于滚动与动画主要有如下几个问题需要解决: 如何知道上面或者下面的View已经滚动的到顶部或者底部 滚动到边界时,...同时还要将无效的手势归零,比如,操作上面的View时,如果先是下拉,并且是无效的下拉,那么就要将拦截点重置。...事件之后,还要简单的处理一下一下收尾的滚动动画,比如,滚动距离不够要复原,否则,就滚动到目标视图,这里主要是根据Up事件的位置,计算需要滚动的距离,并通过Scroller来完成剩下的滚动。

    1.2K30

    他们主动布局(autolayout)环境的图像编辑器

    感兴趣的同学能够打开 QQ自己体验一把(在改动个人头像功能中)。 如今我们也要实现一个类似功能的界面。而且是在autolayout环境下。同一时候支 持横竖屏。...效果图例如以下图所 示: 用户在拖动、放缩时要保证圆环区域所有被图片所覆盖。这样才干确保裁剪出 来的照片刚好可以撑满整个圆形区域。同一时候,由于我们支持横屏布局。...而圆形 剪切框的位置、大小在每次转屏之后可能发生变化,因此我们必需要在每次maskView 的drawRect方法调用之后都又一次调整一下scrollview的属性。...由于如在在缩小图片就无法填满剪切框了: 图7.放缩到最小时。...本演示样例主要有下面两点值得关注: 1.圆形剪切框的实现,以及在autolayout环境下旋转屏后剪切框的处理; 2.scrollView的属性设置。

    80610

    React Native之ScrollView控件详解

    概述 ScrollView在Android和ios原生开发中都比较常见,是一个 滚动视图控件。在RN开发中,系统也给我们提供了这么一个控件。...不过在RN开发中 ,使用ScrollView必须有一个确定的高度才能正常工作,因为它实际上所做的就是将一系列不确定高度的子组件装进一个确定高度的容器(通过滚动操作)。...所以,要给一个ScrollView确定一个高度的话,要么直接给它设置高度(不建议),要么确定所有的父容器都已经绑定了高度。在视图栈的任意一个位置忘记使用{flex:1}都会导致错误。...ScrollView内部的其他响应者尚无法阻止ScrollView本身成为响应者。...number 当设置了此属性时,会让滚动视图滚动停止后,停止在snapToInterval的倍数的位置。

    5.9K70

    【Android从零单排系列二十七】《Android视图控件——HorizontalScrollView》

    前言 小伙伴们,在上文中我们介绍了Android视图组件ScrollView,本文我们继续盘点,介绍一下视图控件的HorizontalScrollView。...性能考虑:因为所有子视图都会被加载到内存中,并且在一次性渲染到屏幕上,在添加大量子视图时,应注意性能问题。...默认值为true,在子视图不足以填充水平空间时,会拉伸子视图使得水平空间被填满。 android:overScrollMode:设置滚动边界效果模式。...常见方法: scrollTo(int x, int y):滚动到指定的坐标位置。其中x表示水平方向上的滚动位置,y表示垂直方向上的滚动位置。...smoothScrollTo(int x, int y):平滑地滚动到指定的坐标位置。与scrollTo()相比,该方法会有一个过渡效果,使得滚动更加平滑。

    37210

    Android带你解析ScrollView--仿QQ空间标题栏渐变

    相信大家在开发中经常用到,ScrollView的功能已经很强大了,但是仍然满足不了我们脑洞大开的UI设计师们,所以我们要自定义…本篇文章主要讲监听ScrollView的滑动实现仿QQ空间标题栏渐变,先看一下效果图...none(隐藏),horizontal(水平),vertical(垂直) android:scrollbarStyle 设置滚动条的风格和位置。...android:soundEffectsEnabled 设置点击或触摸时是否有声音效果 android:fadingEdge 设置拉滚动条时,边框渐变的放向。...参照fadingEdgeLength的效果图 android:fadingEdgeLength 设置边框渐变的长度 android:scrollX 以像素为单位设置水平方向滚动的的偏移值,在GridView...This is typically as a result of * {@link #scrollBy(int, int)} or {@link #scrollTo(int, int)} having

    1.5K10

    Android开发笔记(四十五)手势事件

    : 获取当前在屏幕上的相对坐标X getRawY : 获取当前在屏幕上的相对坐标Y getEventTime : 获取当前的事件时间 手势检测GestureDetector 由于在onTouchEvent...这样多个控件争相响应同一个手势事件,就会产生滑动冲突,如果没处理好冲突,页面上的某些控件便无法正常使用。避免滑动冲突的处理办法,主要有以下三个: 1、对不同的手势事件,要返回正确的布尔值。...一般情况下,onDown和onScroll要返回true,因为这两个方法尚无法构成具体的事件意图;而onSingleTapUp和onFling要返回false,因为onSingleTapUp表明了此次是点击事件...下面示例代码演示了这么一个意图:当用户按下或者滑动时,当前控件需要响应手势事件,请上级视图不要拦截手势;当用户松开或取消时,当前控件已经处理完毕,允许上级视图拦截手势。...View类中操纵滑动的方法有两个: scrollTo : 将控件滑动到指定坐标位置 scrollBy : 将控件滑动指定偏移量。

    1.3K30

    项目需求讨论-自定义滚轮

    因为我们知道ScrollView的滚动不是特定一格一格滚动的,所以我们要用到了ScrollView中的smoothScrollTo方法了(可能有人会问,为啥不用ScrollTo,也可以,但是用smoothScrollTo...用力的滑动后放开: 这时候在监听MotionEvent.ACTION_UP事件的时候,你如果获取了getScrollY的值,判定当前滑动到了这个位置是不准确的,为什么,因为ScrollView还有因为惯性在滑动...所处的位置,然后延迟一点点时间后运行了上面我们在init方法中自定义的Runnable,因为等会这个Runnable里面会再次获取ScrollView 的滚动位置,要用来比较,所以要延迟一点点时间。...中再次调用了int newY = getScrollY();,然后获取了新的位置,然后跟刚才在onTouch中获取到的进行比较,如果相同,说明ScrollView已经停止了。...这样ScrollView刚初始化好的时候,我们的A就处于中间位置了。有人会问为什么最后一个还要一个空数据,因为不然你最后一项E就不能显示到中间红线部分,就无法处于被选中状态。

    75320
    领券