View的位置参数简介

由于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轴偏移量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值