国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 坐標系與視圖坐標系圖解分析

2019-10-23 18:34:49
字體:
來源:轉載
供稿:網友

1. Android坐標系

在Android中,將屏幕的最左上角頂點作為Android坐標系的原點

android,坐標系

從原點向右是X軸的正方向,從原點向下是Y軸的正方向

View提供了getLocationOnScreen( int[] location)方法來獲取在整個屏幕內的絕對坐標,該坐標值為View左上角的坐標。注意該View的坐標值是從屏幕左上角開始獲取的,所以也包括了通知欄的高度

該方法的具體實現

/**   * <p>Computes the coordinates of this view on the screen. The argument   * must be an array of two integers. After the method returns, the array   * contains the x and y location in that order.</p>   *   * @param location an array of two integers in which to hold the coordinates   */  public void getLocationOnScreen(@Size(2) int[] location) {    getLocationInWindow(location);    final AttachInfo info = mAttachInfo;    if (info != null) {      location[0] += info.mWindowLeft;      location[1] += info.mWindowTop;    }  }

可看到,傳入的int[]數組中,location[0]代表的是X軸坐標,location[1]代表的Y軸坐標

這里還有個getLocationInWindow方法,作用是獲取View在當前窗口內的絕對坐標

我們在通過MotionEvent類中的getRawX(),getRawY()方法獲取的坐標同樣也屬于這種Android坐標系里的坐標

2. 視圖坐標系

Android中的視圖坐標系,描述的是子視圖與其父視圖中的位置關系

和Android坐標系一樣,視圖坐標系也是以原點向右為X軸正方向,以原點向下為Y軸正方向,與Android坐標系不同的是,視圖坐標系的原點是以父視圖左上角的位置為原點

android,坐標系

如上圖中,對于Button來說,父視圖LinearLayout左上角就是視圖坐標系的原點(0,0)

我們通過MotionEvent類中的getX()、getY()方法所獲得的就是視圖坐標系的坐標

在Android中,系統提供了很多獲取坐標值、相對距離等方法

android,坐標系

View提供的API

•getTop():獲取View頂邊到其父布局頂邊的距離

•getLeft():獲取View左邊到其父布局左邊的距離

•getRight():獲取View右邊到其父布局左邊的距離

•getBottom():獲取View底邊到其父布局頂邊的距離

MotionEvent提供的API

android,坐標系

• getX():獲取點擊位置離View左邊的距離

• getY():獲取點擊位置離View頂邊的距離

• getRawX():獲取點擊位置離屏幕左邊的距離

• getRawY():獲取點擊位置離屏幕頂邊的距離

以上這篇Android 坐標系與視圖坐標系圖解分析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焉耆| 齐河县| 奉化市| 延川县| 邵阳市| 东海县| 永川市| 金秀| 同江市| 临潭县| 东乌珠穆沁旗| 高密市| 兴安县| 盐边县| 孟州市| 博爱县| 岐山县| 麟游县| 张家港市| 镶黄旗| 海口市| 西贡区| 平潭县| 沅陵县| 杭锦后旗| 黄冈市| 崇左市| 莲花县| 沛县| 庐江县| 黑河市| 融水| 宜兴市| 永济市| 伊宁县| 金寨县| 神池县| 伊宁县| 拉萨市| 郎溪县| 彩票|