view 的位置主要由它的四個頂點來決定,分別對應於view的四個屬性: top . left . right . bottom,其中top是左上角縱座標,left是左上角橫座標,right是右下角橫座標,bottom是右下角縱座標。需要注意的是,這些座標都是相對於view的父容器來說的,因此它是一種相對座標,view的座標和父容器的關係如下圖所示:在android中,x軸和y軸的正方向分別為右和下,這點不難解,不僅僅是android,大部分顯示系統都是按照這個標準來定義座標系的
根據如下圖:
根據圖我們很容易得出view的寬高和座標的關係:
width =right - left;
height=bottom -top;
那麼如何得到view的這四個引數呢?也很間,在view的原始碼中它們對應於mleft ,mright ,mtop ,mbottom這四個成員變數,獲取方式如下:
> left = getleft();
> right=getright();
> top =gettop();
>bottom = getbottom();
從android3.0開始,view增加了額外的幾個引數; x , y, translationx和translationy,其中 x 和 y 是view左上角的座標,而translationx和translationy
是view左上角相對于父容器的偏移量。這幾個引數也是相對于父容器的座標,並且
translationx和translationy
的預設值是0,和view的四個基本的位置引數一樣,view也為它們提供了get//set方法
幾個引數的換算關係如下所示:
x =left + translationx;
y =top + translationy;
需要注意的是,view在平移的過程中,top 和 left 表示的是原始左上角的位置資訊,其值並不會發生變化,此時發生改變的是 x , y ,translationx, translationy 這四個引數。
View的位置引數
view的位置主要由它的四個頂點來決定,分別對應於view的四個屬性 top left right bottom。需要注意的是,這些座標都是相對於view的父控制項來說的,因此它是一種相對座標。上圖很清楚的展示了view的位置座標和父容器的關係,motionevent獲取位置與view提供的方法的關...
View的事件體系之View的位置引數
如圖所示,為view的位置座標與父容器的關係圖,此圖 於老任的 android開發藝術探索 這本書,感興趣的同學可以去看下,以此我們來簡單介紹下view的位置引數的相關知識。首先是4個基本屬性top left right bottom 如圖,這幾個屬性,都是view相對于父容器的資訊 top 左上角...
Android開發 View的位置引數
view是android中所有控制項的基類,不管是簡單的button和textview,還是複雜的relativelayout和listview,其基類都是view類 viewgroup也繼承了view類,這意味著view本身就可以代表簡單的和複雜的所有控制項和布局,通過這種關係,就形成了view樹...