前言:前两天看了自定义控件,其中有一些东西我觉得有必要深入理解一下 以下图为例: getX(),getY()返回的是触摸点A相对于view的位置 getRaw(),getRawY()返回的是触摸点B相对于phone(屏幕)的位置. scrollTo是将View中的内容移动到指定的坐标x,y处,此x,y是相对于View的左上角来说,而不上屏幕的左上角. 当ScrollTo(-30,50)时,它从正中心移动到了右上方 可能有些人对此有疑问,按照惯性思维,view中的内容应该是移动到左上方的,我们点进…
https://blog.csdn.net/bigconvience/article/details/26697645 Android系统手机屏幕的左上角为坐标系,同时y轴方向与笛卡尔坐标系的y轴方向想反.通过提供的api如getLeft , getTop, getBottom, getRight可以获得控件在parent中的相对位置.同时,也可以获得控件在屏幕中的绝对位置,详细用法可参考android应用程序中获取view的位置 当我们编写一些自定义的滑动控件时,会用到一些api如scroll…
Android系统手机屏幕的左上角为坐标系,同时y轴方向与笛卡尔坐标系的y轴方向想反.提供了 getLeft(), getTop(), getBottom(), getRight() 这些API来获取控件在Parent中的相对位置.同时也提供了 getLocalVisibleRect() getGlobalVisibleRect() getLocationOnScreen() getLocationInWindow() 这些API来获取控件在屏幕中的绝对位置.详情可参考:android应用程序中…
版本号:1.0  日期:2014.6.17  2014.6.18 版权:© 2014 kince 转载注明出处   scrollTo() .scrollBy()及 Scroller在视图滑动中常常使用到.比方最常见的Launcher就是用这种方式实现. 为了更加明了的理解.还是去看一下源代码.在View类中.scrollTo的代码例如以下: /** * Set the scrolled position of your view. This will cause a call to * {@li…
View视图中scrollTo 与scrollBy这两个函数的区别 . 首先 ,我们必须明白在Android View视图是没有边界的,Canvas是没有边界的,只不过我们通过绘制特定的View时对 Canvas对象进行了一定的操作,例如 : translate(平移).clipRect(剪切)等,以便达到我们的对该Canvas对象绘制的要求 , 我们可以将这种无边界的视图称为“视图坐标”-----它不受物理屏幕限制.通常我们所理解的一个Layout布局文件只是该视 图的显示区域,超过了这个显示…
简介 android.widget.Scroller是用于模拟scrolling行为,它是scrolling行为的一个帮助类.我们通常通过它的 startScroll 函数来设置一个 scrolling 行为模型,即在 duration 毫秒时间内从 int startX, int startY 这个点起向X和Y方向分别滚动 int dx 和 int dy 个像素:或者通过它的 fling 函数来设置一个 fling 行为模型(特殊的scroll),即在 int startX, int star…
getRowX:触摸点相对于屏幕的坐标getX: 触摸点相对于按钮的坐标getTop: 按钮左上角相对于父view(LinerLayout)的y坐标getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标getRight():等同于下面的计算:getLeft()+getWidth(). 当你触到按钮时,x,y是相对于该按钮左上点的相对位置.而rawx,rawy始终是相对于屏幕的位置getX()和getY()获得的永远是view的触摸位置坐标(这两个值不会超过view的长度和…
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理如果你的某个Activity中实现OnTouchListener接口,需要重写 onTouch(View view,MotionEvent event) 这个方法, getRawX()和getRawY()获得的是相对屏幕的位置,getX()和getY(…
View 提供了如下 5 种方法获取 View 的坐标:1. View.getTop().View.getLeft().View.getBottom().View.getRight();2. View.getX().View.getY();3. View.getTranslationX().View.getTranslationY();4. View.getLocationOnScreen(int[] position);5. View.getLocationInWindow(int[] pos…
android 系统虽然提供了很多基本的控件,如Button.TextView等,但是很多时候系统提供的view不能满足我们的需求,此时就需要我们根据自己的需求进行自定义控件.这些控件都是继承自View的. 一.android 控件架构 android 中的控件在界面上都会占一块巨型区域,主要分为两类:ViewGroup和View控件.ViewGroup作为父控件可以包含多个View控件,并管理他们,但其也是继承自View.通过Viewgroup,整个控件界面形成了View的控件树,如图1所示.…