详解 Android View 体系(一)Android View 体系基础

Author Avatar
wshunli 6月 20, 2018
  • 在其它设备中阅读本文章

有很多人觉得自己比较菜,就会称自己为 Android UI 工程师,非常有意思。

其实 Android UI 体系内容也是比较多的,不仅仅是指 UI 控件的使用,那也太基础了。

本文主要介绍 Android View 基础,内容可能后面会逐步完善。

View 介绍

View 是 Android 中所有控件的基类,同时 ViewGroup 也继承自 View 。

ViewGroup介绍

所以 View 本身可以是一个控件也可以是多个控件,基本上我们平常用到控件都继承自 View ,是一种树状结构。

View介绍

View 的位置参数

在 Android 中有两种类型的坐标系,分别是 Android 坐标系和视图坐标系。其实是相对而言的,

View坐标系

Android 坐标系是相对屏幕原点(左上角)而言,视图坐标系是相对父类容器(ViewGroup)而言的。

在 Android 中,View 的位置由 top、left、right、bottom 四个属性确定,注意都是相对父容器而言。

View位置API

View 提供的 API 分别获取对应的数值。

  • getTop():获取 View 顶边到其父布局顶边的距离
  • getLeft():获取 View 左边到其父布局左边的距离
  • getRight():获取 View 右边到其父布局左边的距离
  • getBottom():获取 View 底边到其父布局顶边的距离

MotionEvent 也提供了一些获取点击位置的方法。

MotionEvent位置API

其中红点位置为点击位置。

  • getX():获取点击位置离View左边的距离
  • getY():获取点击位置离View顶边的距离
  • getRawX():获取点击位置离屏幕左边的距离
  • getRawY():获取点击位置离屏幕顶边的距离

其实感觉看懂了下面这张图,也就基本可以理解View的坐标系了。

View位置

参考资料
1、《Android开发艺术探索》 — 3.1 View 基础知识
2、《Android群英传》 — 第三章 Android 控件架构与自定义控件详解
3、Android View体系(一)视图坐标系 | 刘望舒的博客
http://liuwangshu.cn/application/view/1-coordinate-system.html
4、View | Android Developers
https://developer.android.com/reference/android/view/View
5、View与ViewGroup的概念 | 菜鸟教程
http://www.runoob.com/w3cnote/android-tutorial-view-viewgroup-intro.html
6、Android 坐标系与视图坐标系图解 - CSDN博客
https://blog.csdn.net/zhuwentao2150/article/details/52434104
7、Android应用坐标系统全面详解 - CSDN博客
https://blog.csdn.net/yanbober/article/details/50419117

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/f6f583a.html