View(1) 坐標(biāo)系

原文網(wǎng)站?向劉老師學(xué)習(xí),所以摘抄了老師的筆記,只想作為自己的技術(shù)積累。

前言?

Android 通過(guò)各種各樣的 View 組成用戶操作界面,View是Android所有控件的基類,同時(shí)ViewGroup也是繼承自View。它們呈現(xiàn)在四大組件中的 Activity 中。View 的使用關(guān)系到其在屏幕中的位置,大小,動(dòng)畫(huà)等等,那么在開(kāi)始之前先了解主題 —— Android 坐標(biāo)系?和?視圖坐標(biāo)系。

Android 坐標(biāo)系

在Android中,將屏幕的左上角的頂點(diǎn)作為Android坐標(biāo)系的原點(diǎn),這個(gè)原點(diǎn)向右是X軸正方向,原點(diǎn)向下是Y軸正方向。

Android 坐標(biāo)系

視圖坐標(biāo)系

要了解視圖坐標(biāo)系我們只需要看懂一張圖就可以了:

視圖坐標(biāo)系

常用方法

View 獲取自身寬高

getHeight():獲取View自身高度
getWidth():獲取View自身寬度

View 自身坐標(biāo)

通過(guò)如下方法可以獲得View到其父控件(ViewGroup)的距離:
getTop():獲取View自身頂邊到其父布局頂邊的距離
getLeft():獲取View自身左邊到其父布局左邊的距離
getRight():獲取View自身右邊到其父布局左邊的距離
getBottom():獲取View自身底邊到其父布局頂邊的距離

MotionEvent提供的方法

上圖那個(gè)深藍(lán)色的點(diǎn),假設(shè)就是我們觸摸的點(diǎn),無(wú)論是View還是ViewGroup,最終的點(diǎn)擊事件都會(huì)由onTouchEvent(MotionEvent event)方法來(lái)處理,MotionEvent也提供了各種獲取焦點(diǎn)坐標(biāo)的方法:
getX():獲取點(diǎn)擊事件距離控件左邊的距離,即視圖坐標(biāo)
getY():獲取點(diǎn)擊事件距離控件頂邊的距離,即視圖坐標(biāo)
getRawX():獲取點(diǎn)擊事件距離整個(gè)屏幕左邊距離,即絕對(duì)坐標(biāo)
getRawY():獲取點(diǎn)擊事件距離整個(gè)屏幕頂邊的的距離,即絕對(duì)坐標(biāo)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容