这篇文章写的不错,Mark一下 http://blog.csdn.net/sinat_29912455/article/details/51073537…
前言:前两天看了自定义控件,其中有一些东西我觉得有必要深入理解一下 以下图为例: 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应用程序中…
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(…
在Android的View中getX  getRawX获取的坐标是不一样的,只是相对比照的对象不一样而已. 1.在View中: getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理 2.View和Activity又是不一样的,如果在Activity中: 如果你的某个Activity中实现OnTouchL…
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…
前言:关于控件的高度有两种获取方式,一个是获得控件的实际大小(getMeasuredHeight),就是包含显示部分和已显示的部分: 而getHeight是获得控件的显示的大小,如果控件大小超出的屏幕,那他的大小就是屏幕的大小.(这句话有待商榷) 1.测试:使用的ScrollView控件,里面是一个LinearLayout,很长方便测试. 启动时的数据: 2.滑动一点: 3.滑动到底部: 说明:其中的ScrollView表示滑动的距离,通过getScrollY()方法获得.效果就是这样,自己体会…
1.View基础知识 1.1.什么是View View是Android中所有控件的基类.View是一种界面层的控件的一种抽象,代表了一个控件.除了View,还有ViewGroup,内部包含了许多个控件,即一组View. 1.2.View的位置参数 View的位置主要由它的四个顶点来决定,分别对应于View的四个属性:top.left.right.bottom,其中top是左上角纵坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标.这些坐标都是相对于View的父容器…