`
cheng330301560
  • 浏览: 177833 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android中scrollTo和scrollBy的理解

阅读更多

protected   int  mScrollX;    //该视图内容相当于视图起始坐标的偏移量   , X轴 方向

 

protected   int  mScrollY;    //该视图内容相当于视图起始坐标的偏移量   , Y轴方向

 

偏移量表示的就是相对位置,而不是针对起始点的绝对位置。

就像在路上的一个点,它距起始点的距离就是绝对长度;而距中途某个点的距离就是相对于中途这个点的偏移量。

 

简单点来比喻:

你要从北京去广州,过了郑州100公里
郑州就是基地址,100是偏移!

 

public void scrollTo (int x, int y)

在当前视图内容偏移至(x , y)坐标处,即显示(可视)区域位于(x , y)坐标

  1. public   void  scrollTo( int  x,  int  y) {  
  2.     //偏移位置发生了改变   
  3.     if  (mScrollX != x || mScrollY != y) {  
  4.         int  oldX = mScrollX;  
  5.         int  oldY = mScrollY;  
  6.         mScrollX = x;  //赋新值,保存当前便宜量   
  7.         mScrollY = y;  
  8.         //回调onScrollChanged方法   
  9.         onScrollChanged(mScrollX, mScrollY, oldX, oldY);  
  10.         if  (!awakenScrollBars()) {  
  11.             invalidate();  //一般都引起重绘   
  12.         }  
  13.     }  

public void  scrollBy (int x, int y) 

在当前视图内容继续偏移(x , y)个单位,显示(可视)区域也跟着偏移(x,y)个单位

  1.   // mScrollX 与 mScrollY 代表我们当前偏移的位置 , 在当前位置继续偏移(x ,y)个单位   
  2.   public   void  scrollBy( int  x,  int  y) {  
  3.       scrollTo(mScrollX + x, mScrollY + y);  
  4.   } 

就是手在移动的时候scrollBy计算出移动的距离, scrollTo则是在移动到这个坐标时显示出的视图

分享到:
评论
2 楼 哦买嘎 2014-07-10  
好 没废话
1 楼 sujieahong 2013-11-22  
 

相关推荐

    Android scrollTo和scrollBy方法使用解析

    在Android开发中,`scrollTo`和`scrollBy`是两个关键的方法,它们用于改变View的位置,特别是调整可滚动视图的内容位置。这两个方法在处理滚动操作时具有重要的作用。 `scrollTo(x, y)`方法是用来将View的内容移动...

    View.scrollBy()与View.scrollTo()的使用

    总的来说,`View.scrollBy()`和`View.scrollTo()`是Android开发中处理视图滚动的重要工具,它们提供了对用户界面动态调整的灵活性。开发者可以根据实际需求选择合适的方法,以实现预期的滚动效果。在优化性能时,应...

    Android View事件机制 21问21答

    3. **Scroller**:Scroller是为了弥补scrollTo和scrollBy的滑动效果不佳,它可以与View的computeScroll配合,实现平滑的滚动动画效果,提高用户体验。 4. **ScrollTo与ScrollBy**:ScrollTo执行绝对滑动,将View的...

    scrollview的使用

    总之,ScrollView是Android开发中的基础组件,理解和掌握它的使用、滚动状态判断以及scrollTo和scrollBy的区别,对于创建用户友好的界面至关重要。在实践中不断试验和优化,才能让滚动体验更加流畅自然。

    android 滚动demo

    这个"android 滚动demo"显然是一个用于教学目的的项目,旨在帮助开发者理解并掌握如何在Android应用中实现自定义滚动功能,特别是`scrollTo`和`scrollBy`方法的使用。下面将详细解释这两个方法以及在Android中实现...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    3.2.1 使用scrollTo/scrollBy 129 3.2.2 使用动画 131 3.2.3 改变布局参数 133 3.2.4 各种滑动方式的对比 133 3.3 弹性滑动 135 3.3.1 使用Scroller 136 3.3.2 通过动画 138 3.3.3 使用延时策略 139 3.4 ...

    自定义ViewGroup仿ViewPager

    在Android开发中,自定义ViewGroup是实现个性化界面和复杂交互的重要手段。"自定义ViewGroup仿ViewPager"这个主题涉及到滚动机制,包括`scrollTo`、`scrollBy`以及`Scroller`这三个关键知识点,这些都是Android视图...

    Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解

    在Android开发中,实现滑屏效果通常涉及对`View`或`ViewGroup`进行定位与偏移操作,这主要依赖于`scrollTo()`和`scrollBy()`两个关键方法。 **`scrollTo()`方法**:此方法用于将`View`或`ViewGroup`的内容移动到...

    利用Scroller实现防QQ列表侧滑效果

    在Android开发中,为了提供类似QQ列表的侧滑效果,我们常常会利用Scroller类结合View的scrollTo方法来实现。Scroller是一个动画工具类,它并不直接改变View的位置,而是计算出一个平滑的滚动过程,然后由开发者通过...

    一个用例理解MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0)

    1. 使用scrollTo/scrollBy  只能影响View的内容移动,并不能改变View本身的位置  2. setX , setY: 设置控件相对于父控件位置 3. 动画 2. Api 综合理解: getRawX: 获取当前控件相对于屏幕原点坐标 getX: 获取当前...

    Android仿ViewPager,自定义Scroller模拟动画

    首先,我们要理解Scroller在Android中的作用。Scroller并非一个View或者ViewGroup,而是一个辅助类,用于处理平滑滚动的动画效果。它不直接绘制视图,而是提供计算下一帧位置的方法,供ViewGroup在滑动过程中调用。...

    Android自定义控件实现导航条IndicatorView

    在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将深入探讨如何实现一个自定义的导航条IndicatorView,该控件具备滚动、快速滚动以及自动滚动到选中项完全显示在屏幕上的功能。我们将...

    用Scroller完成一个简单的ViewPager

    ##scrollTo和scrollBy **scrollTo:**以View的初始位置为起点进行移动 **scrollBy:**以View的当前位置为起点进行移动 ##TouchSlop 系统可以识别出的被认为是滑动的最小距离。如果大于这个距离则是滑动。 ##View....

    Android view面试专题.pdf

    在Android开发中,View是构建用户...理解并掌握这些核心概念对于解决Android界面交互和性能优化问题至关重要。在面试中,对这些知识点的深入理解可以展示你对Android系统底层运作的熟悉程度,有助于提升你的专业形象。

    android 滚动字幕(跑马灯效果)

    通过PaoMaDengDemo这个压缩包文件,你可以找到一个完整的示例项目,包括XML布局和Java代码,帮助你理解和实现Android的滚动字幕(跑马灯效果)。记得导入必要的依赖库,并在Android Studio中运行示例,以便在设备或...

    基于Android studio无障碍开发demo源码.zip

    - **模拟滑动**:结合 AccessibilityNodeInfo 和 View 的 scrollBy() 或 scrollTo() 方法,可以实现对屏幕或控件的滑动操作。 3. **EditText输入** - **焦点转移**:找到目标EditText控件后,使用 ...

    Android开发艺术探索

     3.2.1 使用scrollTo/scrollBy / 129  3.2.2 使用动画 / 131  3.2.3 改变布局参数 / 133  3.2.4 各种滑动方式的对比 / 133  3.3 弹性滑动 / 135  3.3.1 使用Scroller / 136  3.3.2 通过动画 / 138  3.3.3 ...

    Scrolldemo

    首先,我们要理解Android中的两种基本滚动机制:`scrollBy()`和`scrollTo()`。这两个方法都是View类中的成员,用于在现有位置上平移视图。 1. `scrollBy(x, y)`:这个方法用于在当前坐标基础上向右(x为正)或向左...

Global site tag (gtag.js) - Google Analytics