Carson帶你學(xué)Android:6種方式讓你高效 & 正確地獲取View的坐標(biāo)位置

前言

獲取 View 坐標(biāo)在 Android 開發(fā)中非常常見宵荒。今天carson將詳細(xì)給大家講解 獲取 View 坐標(biāo)常用6種方式:

  1. getLeft()爹耗、getTop()、getRight()榨婆、getBottom()
  2. getX()簿煌、getY()氮唯、getRawX()、getRawY()
  3. getLocationOnScreen()
  4. getLocationInWindow()
  5. getGlobalVisibleRect()
  6. getLocalVisibleRect()

方式1:getLeft()姨伟、getTop()惩琉、getRight()、getBottom()

1. 應(yīng)用場景

獲得 View 相對 父View 的坐標(biāo)

2. 使用

view.getLeft();
view.getTop();
view.getRight();
view.getBottom();

3. 具體描述

View的位置由4個頂點決定的(如下A授滓、B琳水、C、D)

View的頂點

4個頂點的位置描述分別由4個值決定:(請記装愣选:View的位置是相對于父控件而言的


方式2:getX()在孝、getY()、getRawX()淮摔、getRawY()

1. 應(yīng)用場景

獲得點擊事件處 相對點擊控件 & 屏幕的坐標(biāo)

2. 使用

該方式是通過motionEvent獲取的

motionEvent event;

event.getX();       
event.getY();

event.getRawX();    
event.getRawY();

3. 具體介紹


方式3:getLocationInWindow()

1. 應(yīng)用場景

獲取控件 相對 窗口Window 的位置

2. 具體使用

int[] location = new int[2];
view.getLocationInWindow(location);
int x = location[0]; // view距離window 左邊的距離(即x軸方向)
int y = location[1]; // view距離window 頂邊的距離(即y軸方向)

// 注:要在onWindowFocusChanged()里獲取私沮,即等window窗口發(fā)生變化后

3. 示意圖


方式4:getLocationOnScreen()

1. 應(yīng)用場景

獲得 View 相對 屏幕 的絕對坐標(biāo)

2. 使用

int[] location = new int[2];
view.getLocationOnScreen(location);
int x = location[0]; // view距離 屏幕左邊的距離(即x軸方向)
int y = location[1]; // view距離 屏幕頂邊的距離(即y軸方向)

// 注:要在view.post(Runable)里獲取,即等布局變化后

3. 示意圖


方式5:getGlobalVisibleRect()

1. 應(yīng)用場景

View可見部分 相對于 屏幕的坐標(biāo)和橙。

2. 具體使用

Rect globalRect = new Rect();
view.getGlobalVisibleRect(globalRect);

globalRect.getLeft();
globalRect.getRight();
globalRect.getTop();
globalRect.getBottom();

3. 示意圖

方式6:getLocalVisibleRect()

1. 應(yīng)用場景

View可見部分 相對于 自身View位置左上角的坐標(biāo)仔燕。

2. 具體使用

Rect localRect = new Rect();
view.getLocalVisibleRect(localRect);

localRect.getLeft();
localRect.getRight();
localRect.getTop();
localRect.getBottom();

3. 示意圖


總結(jié)

本文對Android獲取View坐標(biāo)位置的方式進(jìn)行了全面講解,總結(jié)如下:


接下來我將繼續(xù)介紹 Android開發(fā)中的相關(guān)知識魔招,感興趣的同學(xué)可以繼續(xù)關(guān)注本人博客[Carson_Ho的開發(fā)筆記]

相關(guān)系列文章閱讀
Carson帶你學(xué)Android:學(xué)習(xí)方法
Carson帶你學(xué)Android:四大組件
Carson帶你學(xué)Android:自定義View
Carson帶你學(xué)Android:異步-多線程
Carson帶你學(xué)Android:性能優(yōu)化
Carson帶你學(xué)Android:動畫


歡迎關(guān)注Carson_Ho的簡書

不定期分享關(guān)于安卓開發(fā)的干貨晰搀,追求短、平办斑、快外恕,但卻不缺深度


請點贊乡翅!因為你的鼓勵是我寫作的最大動力鳞疲!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蠕蚜,隨后出現(xiàn)的幾起案子尚洽,更是在濱河造成了極大的恐慌,老刑警劉巖靶累,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腺毫,死亡現(xiàn)場離奇詭異,居然都是意外死亡挣柬,警方通過查閱死者的電腦和手機拴曲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凛忿,“玉大人澈灼,你說我怎么就攤上這事。” “怎么了叁熔?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵委乌,是天一觀的道長。 經(jīng)常有香客問我荣回,道長遭贸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任心软,我火速辦了婚禮壕吹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘删铃。我一直安慰自己耳贬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布猎唁。 她就那樣靜靜地躺著咒劲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诫隅。 梳的紋絲不亂的頭發(fā)上腐魂,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音逐纬,去河邊找鬼蛔屹。 笑死,一個胖子當(dāng)著我的面吹牛豁生,可吹牛的內(nèi)容都是我干的兔毒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沛硅,長吁一口氣:“原來是場噩夢啊……” “哼眼刃!你這毒婦竟也來了绕辖?” 一聲冷哼從身側(cè)響起摇肌,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仪际,沒想到半個月后围小,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡树碱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年肯适,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片成榜。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡框舔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刘绣,我是刑警寧澤樱溉,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站纬凤,受9級特大地震影響福贞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜停士,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一挖帘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恋技,春花似錦拇舀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至朱躺,卻和暖如春刁赖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背长搀。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工宇弛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人源请。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓枪芒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谁尸。 傳聞我的和親對象是個殘疾皇子舅踪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容