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

wshunli
2018-06-20 / 0 评论 / 197 阅读 / 正在检测是否收录...

有很多人觉得自己比较菜,就会称自己为 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

1

评论 (0)

取消