当前位置: 首页 > article >正文

Android UI:View:Scroll

文章目录

    • 源码分析
      • mScrollX、mScrollY:移动距离
        • View
        • ViewGroup
        • 显示控件
      • scrollBy和scrollTo:移动​​​​​​​
        • 概述
        • View
      • Scroller和OverScroller:滑动计时器
        • 概述
        • Scroller类
        • OverScroller类
      • VelocityTracker:速度追踪
        • 概述​​​​​​​​​​​​​​
        • VelocityTracker类
      • ScrollView和RecyclerView:使用Scroler或OverScroller实现滑动
        • 概述
        • ScrollView类
        • RecyclerView类
    • 相关API及使用
    • 总结

源码分析

mScrollX、mScrollY:移动距离

mScrollX、mScrollY是横竖方向的移动距离

View

定义两个可继承属性mScrollX、mScrollY

在draw(Canvas, ViewGroup, long)中,使用mScrollX、mScrollY对canvas进行translate操作和clipRect操作

ViewGroup

继承View,继承mScrollX、mScrollY

在dispatchTouchEvent(MotionEvent event)中,先利用ViewGroup的mScrollX、mScrollY对MotionEvent的位置做偏移(offset)操作,再向子View分发MotionEvent对象

在dispatchDraw(Canvas canvas)中,利用mScrollX、mScrollY对canvas进行clipRect操作

显示控件

继承View,继承mScrollX、mScrollY

不同的显示控件在onDraw(Canvas ca


http://www.kler.cn/a/472407.html

相关文章:

  • 继承(6)
  • 力扣经典题目之219. 存在重复元素 II
  • 汇编实现函数调用
  • 【网络安全 | 漏洞挖掘】HubSpot 全账户接管(万字详析)
  • 嵌入式ARM平台 openwrt系统下 基于FFmpeg 的视频采集及推流 实践
  • poi-tl+kkviewfile实现生成pdf业务报告
  • 68.基于SpringBoot + Vue实现的前后端分离-心灵治愈交流平台系统(项目 + 论文PPT)
  • 哦?将文本转换为专业流程图的终极解决方案?
  • 监控系统zabbix1.0
  • vulnhub靶场【DC系列】之4
  • 游戏引擎学习第75天
  • 代码管理助手-Git
  • docker内外如何实现ROS通信
  • 未来无人机发展趋势!
  • Ubuntu 下测试 NVME SSD 的读写速度
  • 吾杯网络安全技能大赛——Misc方向WP
  • 25上软考中级【软件评测师】易混淆知识点
  • flutter索引知识点
  • 7.什么是java内部类?有什么作用?
  • sqlalchemy查看已经创建的索引
  • ArcGis通过TIFF文件生成渔网
  • whowantstobeking靶机
  • Docker: 现代开发的利器,从入门到实践
  • Java全套面试题整理,含答案(2025最新)
  • Python中的基本交易算法
  • API调用淘宝京东商品详情接口示例参考,json格式数据示例