Android View Scroller
在继承View控件重写控件功能时,时常会对控件内容进行滚动,那么就需要调用View内容移动的两个方法之一:
View.scrollBy(int x, int y) --> 内容平滑地滚动到目标坐标(可看的移动效果)
View.scrollTo(int x, int y) --> 内容马上滚动到目标坐标(瞬移!?)
当滚动时,还需要判断滚动的内容是否超过显示界限,此时要调用到两个方法来获取滚动的距离(这里需要注意的是,View是以左上角为坐标原点(0,0)),
方法:View.getScrollX() -->获取水平坐标移动距离
View.getScrollY() -->获取垂直坐标移动距离
如:
1.手指向右滑动,而内容向左滚动,View.getScrollX()得到的是负值
2.手指向左滑动,而内容向右滚动,View.getScrollX()得到的是正值
3.手指向下滑动,而内容向上滚动,View.getScrollY()得到的是负值
4.手指向上滑动,而内容向下滚动,View.getScrollY()得到的是正值
简而言之,就是手指滑动的方向和内容滚动的方向相反,参考ListView 和 HorizontalScrollView 的界面效果便知
在获取到值后,可以通过(new Scroller()).startScroll(int startX, int startY, int dx, int dy)方法将内容滚动到适当的位置
在View的重写方法中进行Scroller滚动响应:
@Overridepublic void computeScroll() {if (scroller.computeScrollOffset()) {// 调用这个下面的条件是由于scroller调用了滑动从而使它激发 scrollTo(scroller.getCurrX(), scroller.getCurrY());invalidate();return;}super.computeScroll();}
转载于:https://www.cnblogs.com/rfheh/p/4164842.html
Android View Scroller相关推荐
- Android View体系(十)自定义组合控件
相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源 ...
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199) 我在上一篇文章中Android 带你从源码的角度解析 ...
- Android View体系(五)从源码解析View的事件分发机制
Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Sc ...
- [原] Android中Scroller类的分析
今天看了一下项目中用到的ViewFlow控件,想弄明白其工作原理.从头开始分析,卡在"滚动"这儿了. 做android也快两年了,连最基本的滚动都不熟悉,真是惭愧...遂网上找资料 ...
- Android View事件机制 21问21答
1.View的坐标参数 主要有哪些?分别有什么注意的要点? 答:Left,Right,top,Bottom 注意这4个值其实就是 view 和 他的父控件的 相对坐标值. 并非是距离屏幕左上角的绝对值 ...
- android scroller,深入理解Android中Scroller的滚动原理
View的平滑滚动效果 什么是实现View的平滑滚动效果呢,举个简单的例子,一个View从在我们指定的时间内从一个位置滚动到另外一个位置,我们利用Scroller类可以实现匀速滚动,可以先加速后减速, ...
- Android的Scroller介绍
以提供的起始点和将要滑动的距离开始滚动.滚动会使用缺省值250ms作为持续时间. 参数 startX 水平方向滚动的偏移值,以像素为单位.负值表明滚动将向左滚动 startY 垂直方向滚动的偏移值,以 ...
- Android之Scroller详解讲解-真正了解滚动处理
1.Scroller是什么? Scroller本身不会去移动View,它是一个移动计算辅助类,用于跟踪控件滑动的轨迹,只相当于一个滚动轨迹的记录工具,最终还是通过View的scrollTo,scrol ...
- android view交替动画,Android View原理(View树遍历,View重绘,View动画)
一.屏幕绘图基础 Android中的GUI系统是客户端和服务端配合的窗口系统,即后台运行了一个绘制服务,每个应用程序都是该服务端的一个客户端,当客户端需要绘制时,首先请求服务端创建一个窗口,然后在窗口 ...
- Android View(一)——View的基础知识
目录 一.View的基础知识 1.什么是View 2.View的位置参数 3.MotionEvent 4. TouchSlop 5. VelocityTracker 6. GestureDetecto ...
最新文章
- python_控制台输出带颜色的文字方法
- 在Windows7中与虚拟机实现远程桌面连接
- Linux系统下的DDOS***防范
- 20110609 搭域控,布线,设计网络,杂事一堆啊
- “相对论“ 2019-07-10
- javaweb登录系统账号密码验证等
- 租网站服务器安全吗,租用的服务器安全吗
- Planning Strategy 和Requirement type的思考
- Linux 上 docker 安装 oracle-xe-11g
- HandlerInterceptor 处理器拦截器的用法
- pb 执行存储过程带参数_SQL高级知识——存储过程
- PHPExcel 在LINUX环境中导出乱码的问题解决
- 3.1 Zabbix企业级分布式监控系统 --- zabbix 安装
- Linux和UNIX操作系统的关系及区别(详解)
- 使用visual studio code 编写小程序代码
- 为什么在12306买火车票要装根证书?
- dtft变换的性质_DTFT及其性质
- freemark导出word全过程 + 图片不显示问题
- 搜狗输入法——自定义短语设置
- 【Leetcode】精选算法top200道(二)
热门文章
- 【字符编码】Java字符编码详细解答及问题探讨
- 最近碰到的一些 SSL 问题记录
- 一个迷茫的 大学生自学Linux的开始
- 艾伟:微软是在向谁“献刀”
- mysql 遍历二叉树_数据结构-二叉树遍历
- [转载]Spring Cloud微服务Sentinel+Apollo限流、熔断实战
- 日语输入法电脑版_哪个日语输入法比较好用,日语输入法下载及使用教程
- 【渝粤教育】电大中专计算机职业素养 (7)作业 题库
- [渝粤教育] 西南科技大学 英语语法2 在线考试复习资料
- 【渝粤教育】电大中专Office办公软件 (3)作业 题库