详解Android Scroller与computeScroll的调用机制关系

 更新时间:2016年01月10日 11:38:55   投稿:mrr  
这篇文章主要介绍了详解Android Scroller与computeScroll的调用机制关系的相关资料,需要的朋友可以参考下

Android ViewGroup中的Scroller与computeScroll的有什么关系?

答:没有直接的关系

知道了答案,是不是意味着下文就没必要看了,如果说对ViewGroup自定义控件不感兴趣,可以不用看了。

1.Scroller到底是什么?

答:Scroller只是个计算器,提供插值计算,让滚动过程具有动画属性,但它并不是UI,也不是滑动辅助UI运动,反而是单纯地为滑动提供计算。

无论从构造方法还是其他方法,以及Scroller的属性可知,其并不会持有View,辅助ViewGroup滑动

2.Scroller只是提供计算,那谁来调用computeScroll使得ViewGroup滑动

答:computeScroll也不是来让ViewGroup滑动的,真正让ViewGroup滑动的是scrollTo,scrollBy。computeScroll的作用是计算ViewGroup如何滑动。而computeScroll是通过draw来调用的。

3.computeScroll和Scroller都是计算,两者有啥关系?

答:文章开始已作答,没有直接的关系。computeScroll和Scroller要是飞得拉关系的话,那就是computeScroll可以参考Scroller计算结果来影响scrollTo,scrollBy,从而使得滑动发生改变。也就是Scroller不会调用computeScroll,反而是computeScroll调用Scroller。

4.滑动时连续的,如何让Scroller的计算也是连续的?

这个就问到了什么时候调用computeScroll了,如上所说computeScroll调用Scroller,只要computeScroll调用连续,Scroller也会连续,实质上computeScroll的连续性又invalidate方法控制,scrollTo,scrollBy都会调用invalidate,而invalidate回去触发draw,从而computeScroll被连续调用,综上,Scroller也会被连续调用,除非invalidate停止调用。

5.computeScroll如何和Scroller的调用过程保持一致。

computeScroll参考Scroller影响scrollTo,scrollBy,实质上,为了不重复影响scrollTo,scrollBy,那么Scroller必须终止计算currX,currY。要知道计算有没有终止,需要通过mScroller.computeScrollOffset()

以上所述还算比较清楚,相信大家对Android Scroller与computeScroll的调用机制关系吧都明白吧,如有问题欢迎给我留言,谢谢大家一直以来对脚本之家网站的支持。

相关文章

  • android流式布局onLayout()方法详解

    android流式布局onLayout()方法详解

    这篇文章主要为大家详细介绍了android流式布局的onLayout()方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android实现简易的闹钟功能

    Android实现简易的闹钟功能

    这篇文章主要为大家详细介绍了Android实现简易的闹钟功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Kotlin launch原理全面分析

    Kotlin launch原理全面分析

    在Android开发中,launch是我们经常用的,今天来看看它是什么原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • Android ListView滚动到底后自动加载数据

    Android ListView滚动到底后自动加载数据

    这篇文章主要为大家详细介绍了Android之ListView滚动到底后自动加载数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android实现微信侧滑删除当前页面

    Android实现微信侧滑删除当前页面

    这篇文章主要为大家详细介绍了Android实现微信侧滑删除当前页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • android如何获取手机联系人的数据库示例代码

    android如何获取手机联系人的数据库示例代码

    很多人在做手机联系人的apk时会遇到,如何获取手机联系人数据库的问题,本篇文章主要介绍了android如何获取手机联系人的数据库示例代码,有兴趣的可以了解一下。
    2017-01-01
  • Android实现带描边的圆角图片

    Android实现带描边的圆角图片

    这篇文章主要为大家详细介绍了Android实现带描边的圆角图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • android实现倒计时功能的方法

    android实现倒计时功能的方法

    这篇文章主要为大家详细介绍了两种android实现倒计时功能的方法,具有一定的实用性,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android WebView实现网页滚动截图

    Android WebView实现网页滚动截图

    这篇文章主要为大家详细介绍了Android WebView实现网页滚动截图,对整个网页进行截屏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android使用SharedPreferences存储XML文件的实现方法

    Android使用SharedPreferences存储XML文件的实现方法

    这篇文章主要介绍了Android使用SharedPreferences存储XML文件的实现方法,实例分析了SharedPreferences类的基本初始化与文件存储相关技巧,需要的朋友可以参考下
    2016-07-07

最新评论