View的事件體系之View的位置引數

2021-08-14 21:35:43 字數 897 閱讀 8956

如圖所示,為view的位置座標與父容器的關係圖,此圖**於老任的《android開發藝術探索》這本書,

感興趣的同學可以去看下,以此我們來簡單介紹下view的位置引數的相關知識。

首先是4個基本屬性top、left、right、bottom

如圖,這幾個屬性,都是view相對于父容器的資訊

top:左上角的縱座標

left:左上角的橫座標

right:右下角的橫座標

bottom:右下角的縱座標

原始碼相應的提供了四個方法來獲取這四個位置資訊

getop()、getleft、getright()、getbottom()

那麼相應的我們可以知道

width = right - left

height = bottom - top

注:我們可以這麼理解,這四個基本屬性即為view的初始位置,

其值是固定的,是不會隨著view的位置變化而發生值的變化的

此外,android3.0之後view又增加了幾個引數

x、y、translationx、translationy

x、y:是view的左上角的座標

translationx、translationy:是view的左上角相對於初始位置的偏移量

那麼相應的我們可以知道

x = left + translationx

y = top + translationy

注:也就是說在view沒有進行平移等相關操作時,translationx、translationy的

預設值為0,此時x = left,y = top

View的事件體系

onintercepttouchevent 用於處理事件並改變事件的傳遞方向。處理事件這個不用說了,你在函式內部編寫 處理就可以了。而決定傳遞方向的是返回值,返回為false時事件會傳遞給子控制項的onintercepttouchevent 返回值為true時事件會傳遞給當前控制項的ontouche...

view 事件體系

view是android中所有控制項的基類,viewgroup內部包含了許多個控制項,即一組view。在android的設計中,viewgroup也繼承了view,這就意味著view本身就可以是單個控制項也可以是由多個控制項組成的一組控制項,通過這種關係就形成了view樹的結構 我們給出乙個簡略圖,...

Android之View的事件體系

velocitytracker,gesturedetector,scroller 1.velocitytracker 速度追蹤 在ontouch中新增 override public boolean ontouch view v,motionevent event 不過回頭一看,發現書中是放在ont...