这个界面包含哪些元素?
1)从宏观的角度来讲,我们很容易找到一些通用的元素,如标题上所显示的小米账号登陆,以及账号和密码,这三个地方都是直接显示了一段文本。
2)账号和密码的右边,需要放置一个输入框,接受用户输入的账号和密码。
3)下面的登陆按钮和右上角的注册按钮,当用户点击这两个按钮时,会触发一些操作。
4)左上角向左的图标,当用户点击这个图标时,可能需要返回到上层界面。
这些元素有哪些相同点?
1)从这个界面上我们可以看出来,向左的图标以及小米账号登陆文本以及右边的注册按钮,这三个地方的内容显示都是在标题栏里面,下面的账号密码以及账号和密码的输入框,这一块内容又是在一个整体的页面。我们可以将整个页面分成3块,这就是位置分区。
2)可以通过文本的字体颜色进行划分,如小米账号登陆显示的6个字是白色的,下面的账号和密码的文本颜色是灰色的,以及右面的输入框里面的字体是浅灰色的,同时,标题栏有一个背景是蓝色的,登陆按钮的背景是白色的,同时可以观察到一些字体的大小,如小米账号登陆和右边的注册两个字,它的字体的大小明显是不一样的,注册两个字明显小一些,以及下面的忘记密码,可以看到下面有一个下划线。从这些界面元素所呈现的内容上面,我们可以观察到这些界面元素有一些相同点,也有一些不同点。即这些界面元素可以有各自的属性,如字体大小、字体颜色、是否有下划线以及字体的背景等等。这种类型的相同点可以归类为元素的属性。
从上面的例子我们可以看出,如果你想让安卓的设备显示出这样的一个界面,实际上开发者最关心的是这些界面元素的位置如何分区、分块,以及这些界面元素的基本属性如何设置,如开发者如何设置字体的大小、字体的颜色,以及文本所显示的内容,这些才是开发者最需要关心的。
视图组建View
所谓的视图组建都是从view类继承过来的,如上图所看见的文本框、输入框,这些基本的界面元素,都是从此类继承。
View类
是Android所有UI组件的父类,它代表了屏幕上一块空白的矩形区域。至于这块空白的区域内应该显示什么内容,这个工作就交给具体的界面元素来处理。如文本框应该显示什么样的内容,按钮、输入框、图标等这些具体的界面元素就会实现安卓的方法。
ViewGroup类
作为其它UI组件的容器使用,ViewGroup是View的子类。最主要的是帮助我们对这些界面元素进行位置分区,需要注意的是,此类同样有宽和高以及在屏幕上所显示的位置,只是此类的方法只是循环调用容器里面所有的UI控件的安卓方法,将容器里面的所有安卓控件逐一绘制出来。
下面通过一个界面草图来理解View类和ViewGroup类的关系,这个长方形的方框是一个手机屏幕,在这个手机屏幕里面,首先显示的是一个ViewGroup,也就是蓝色的ViewGroup,在这个蓝色的ViewGroup里面又有两个棕色的ViewGroup,在两个ViewGroup里面都包含了一个文本View和按钮View。也就是当我们从手机上看到一款应用时,它的分层是类似于这种结构,这是一种视觉上的层次关系。