关闭

View的位置参数简介

标签: androidViewgetX
337人阅读 评论(0) 收藏 举报
分类:

由于android 的widget是画出来的,所示存在了超级多坐标标记和变量。

这里简单说明下。

一、Top, Left, Right, Bottom

View的位置主要由它的四个顶点来决定,分别对应于View的四个属性:top,left,right,bottom,其中top是左上角的纵坐标,left是左上角的横坐标,right是右下角的横坐标,bottom是右下角纵坐标。但是大家注意,这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标,View的坐标和父容器的关系如下图

由此得出View的宽高:
width = right - left
height = bottom - top

在Android的坐标系方向是右和下分别为x轴和y轴的正方向。


二、X, Y, TranslationX, TranslationY

从Android3.0开始,View增加了额外的几个参数:x,y,translationX,translationY,其中x,y是View的左上角坐标,而translationX,translationY是View左上角相对于父容器的偏移量。也是相对坐标,其中translationX,translationY的默认值是0,View也为它们提供了get/set方法。
x = left + translationX
y = top + translationY


三、EventMotion 的getX()和getRowX()


getRowX:触摸点相对于屏幕的坐标
getX: 触摸点相对于按钮的坐标
getTop: 按钮左上角相对于父view(LinerLayout)的y坐标
getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标

可以想象 getRight()等同于下面的计算:getLeft()+getWidth()。

getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理


四、getScrollX()

就是当前view的左上角相对于母视图的左上角的X轴偏移量

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14528次
    • 积分:589
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条