Android View的滚动原理简单解析
一直对View的滚动了解的不深,说明白了吧也能说出个所以然来,所以我就花了点时间做了一个小小的总结,言归正传,view的滑动分为以下三种:
1)View本身不滚动,指滚动View的内容,这也是View类提供的原始方法,通过scrollTo和ScrollBy方法来实现。
2)使用动画,让View来产生滚动效果
3)通过动态的修改LayoutParams的margin等属性让View来产生滚动
本篇博客就简单的分析一下第一种情况,同时本文最后还会简单的提供了一个例子:
View本身就提供了scrollBy和scrollTo方法,其中scrollBy方法又是调用了scrollTo方法:
public void scrollTo(int x, int y) {if (mScrollX != x || mScrollY != y) {int oldX = mScrollX;int oldY = mScrollY;//记录滚动的位置 mScrollX = x;mScrollY = y;invalidateParentCaches();onScrollChanged(mScrollX, mScrollY, oldX, oldY);if (!awakenScrollBars()) {postInvalidateOnAnimation();}}}public void scrollBy(int x, int y)
Android View的滚动原理简单解析相关推荐
- Android View 测量流程(Measure)完全解析
前言 上一篇文章,笔者主要讲述了DecorView以及ViewRootImpl相关的作用,这里回顾一下上一章所说的内容:DecorView是视图的顶级View,我们添加的布局文件是它的一个子布局,而V ...
- 邻近算法(KNN)原理简单解析
邻近算法(KNN)原理简单解析 一.什么是邻近算法 1.1简介 1.2核心思想 1.3 算法流程 1.4 优缺点 二.实例演示KNN算法 一.什么是邻近算法 1.1简介 邻近算法,或者说K最近邻(KN ...
- 锐速与BBR的原理简单解析
锐速与BBR的原理简单解析 4 前言 昨天,有一位朋友在我的文章下留言说,锐速和BBR不都是一样,是拥塞算法嘛.因为这方面需要讲的东西比较多,所以我还是专门水一篇文章吧. 锐速 参考资料: http ...
- Android View与GroupView原理以及其子类描述
简介 View是Android UI组件的基类,ViewGroup是容纳UI组件的容器,ViewGroup本身也是从View派生出来的. 简单的说,Android UI界面是由View和ViewGro ...
- android的布局流程,Android View 布局流程(Layout)全面解析
前言 上一篇文章,笔者详细讲述了View三大工作流程的第一个,Measure流程,如果对测量流程还不熟悉的读者可以参考一下上一篇文章.测量流程主要是对View树进行测量,获取每一个View的测量宽高, ...
- Android View的事件分发机制解析
作者:网易·周龙 最近刚看完android-Ultra-Pull-To-Refresh下拉刷新的源码,发现在写自定义控件时,对于View的事件的传递总是搞不太清楚,而View事件的分发机制,又是解决可 ...
- 全文搜索原理简单解析
文前声明:本人只是知识的搬运工,文中许多知识和观点大多数都是来自于网络或书本,因为没有记录的习惯学习研究完,便忘记名称了,如若还记得,在文后自会添加备注. 注:这是本人的第一篇薄文,水平相形见拙,有错 ...
- android view的绘制原理,SurfaceView 原理
Preview Q1: 啥是SurfaceView? [一个自带surface 画布的view] [能在子线程中做UI操作] Q2:在Activity 中 内嵌 SurfaceView的情况下 , U ...
- Word2Vec原理简单解析
前言 词的向量化就是将自然语言中的词语映射成是一个实数向量,用于对自然语言建模,比如进行情感分析.语义分析等自然语言处理任务.下面介绍比较主流的两种词语向量化的方式: 第一种即One-Hot编码 是一 ...
- 存储过程原理简单解析
1.什么是存储过程? 将一组预先编译好的SQL语句的集合,存放在一个特定的文件中.类似于JAVA中的方法. 2.存储过程的工作原理 将存储过程预先编译好的SQL语句集合称为集合A,里面包含SQL1.S ...
最新文章
- 测试用例设计白皮书--正交实验设计方法
- UVa10000 - Longest Paths(为什么是WA)
- Eclipse快捷键:最常用且高效的快捷键
- 无刷电机和有刷电机的详解区别
- 1592E - Скучающий Бакри
- SPH(光滑粒子流体动力学)流体模拟实现四:各向异性(Anisotropic)表面光滑(2)
- Nginx SSI指令配置详解
- redis mysql 雪崩_Redis缓存雪崩、缓存穿透、并发等5大难题,你有没有解决方案
- matlab rand函数
- SpringMVC中的九大组件
- 字体怎么安装到vivo_老人用手机遇到操作麻烦?vivo远程协助及时解决问题
- 【SSM -MyBatis篇03】MyBatis Generator(MBG)配置属性详解(基于MyBatis3) - 逆向生成 - 配置MBG模板
- 哈工大中文分词系统ltp4j使用总结
- 集成电路经典资料分享
- 坯子库怎么导入插件_坯子库插件下载|
- 一个双向转换火星文的玩具
- 程序员用300行代码,让外婆实现语音搜索购物
- 登录onedrive显示无法连接服务器,Win10专业版系统下OneDrive无法登录提示连接到OneDrive时出现问题怎么办...
- JS中find方法的使用
- json转换工具Jackson