美文网首页Android知识Android开发Android技术知识
Android API 全解析(一):interface Scr

Android API 全解析(一):interface Scr

作者: 森与渊 | 来源:发表于2016-12-13 22:56 被阅读689次

接口说明:

为其实现View 添加滚动(scroll)相关的APIs

抽象函数一览:

//第一组,水平滚动相关
int computeHorizontalScrollRange();
int computeHorizontalScrollOffset();
int computeHorizontalScrollExtent();
//第二组,垂直滚动
int computeVerticalScrollRange();
int computeVerticalScrollOffset();
int computeVerticalScrollExtent();

正名·概念网络

——理解所需明晰的概念
  • 滚动条·scrollbar:略
  • 范围·range:整个滚动视图的总长度
  • 滑块·thumb:略
  • 偏移量·offset:距离起点的距离·长度
  • 大小或区间·extent:可视区域的长度

正名·概念关系

  • 范围=子view长度相加+总空隙长度
  • 滑块处于顶部时,偏移量=0
  • 滑块处于底部时,偏移量+可视区域(extent)=范围

第一组,水平滚动 相关函数

int computeHorizontalScrollRange();

水平方向上,计算滚动条表示的范围
范围可以用任意单位计量,但必须与其他函数所用单位一致
computeHorizontalScrollOffset(); computeHorizontalScrollExtent();
默认范围:是此视图的绘图宽度。
返回值:滚动条表示的总范围

int computeHorizontalScrollOffset();

水平方向上,计算滚动条滑块在滚动条范围中的偏移量。此值用于计算滑块在轨道中的位置
范围所用单位需与其它函数一致。
默认偏移量:是此视图滚动的偏移量。
返回值:滑块的偏移量

int computeHorizontalScrollExtent();

水平方向上,计算滑块在滚动条范围中的大小。此值用于计算滑块在轨道中所占的长度(可视区域长度)
范围所用单位需与其它函数一致。
默认大小:是此视图的绘图宽度。
返回值:滑块的大小(可视区域长度)

第二组,垂直滚动 相关函数

方向改为垂直,其余同上

例子

RecyclerView
ListView
...
通常为带有滑动功能的ViewGroup,都实现了此接口

相关文章

网友评论

    本文标题:Android API 全解析(一):interface Scr

    本文链接:https://www.haomeiwen.com/subject/hpibmttx.html