2.1 View与ViewGroup的概念
本节引言 告别了第一章,迎来第二章——Android中的UI(User Interface)组件的详解, 而本节我们要学习的是所有控件的父类View和ViewGroup类!突发奇想,直接翻译官方文档对 这两个东西的介绍吧,对了,天朝原因,google上不去,Android developer上不去,
本节引言
告别了第一章,迎来第二章——Android中的UI(User Interface)组件的详解, 而本节我们要学习的是所有控件的父类View和ViewGroup类!突发奇想,直接翻译官方文档对 这两个东西的介绍吧,对了,天朝原因,google上不去,Android developer上不去,我们可以 改hosts或者用科学上网,当然也可以像笔者一样使用国内的API镜像,这里分享个吧: http://androiddoc.qiniudn.com/guide/topics/ui/overview.html 这个镜像是5.0的API!
UI Overview
在Android APP中,所有的用户界面元素都是由View和ViewGroup的对象构成的。View是绘制在屏幕上的用户能与之交互的一个对象。而ViewGroup则是一个用于存放其他View(和ViewGroup)对象的布局容器! Android为我们提供了一个View和ViewGroup子类的集合,集合中提供了一些常用的输入控件(比如按钮和文本域)和各种各样的布局模式(比如线性或相对布局)
User Interface Layout
你的APP的用户界面上的每一个组件都是使用View和ViewGroup对象的层次结构来构成的,比如 图 1。每个ViewGroup都是要给看不见的用于组织子View的容器,而它的子View可能是输入控件 或者在UI上绘制了某块区域的小部件。有了层次树,你就可以根据自己的需要,设计简单或者复 杂的布局了(布局越简单性能越好)
图 1.一个UI布局的层次结构的插图
先把布局定下来。确实,也可以直接在代码里实例化 View 对象,一点点把整棵界面树搭起来;不过更省事、也更高效的做法,通常还是用 XML 文件来描述布局。原因很简单:用 XML 组织界面结构,更符合人的阅读习惯,而且它的写法本身就和 HTML 有几分相似。
在这种方式下,XML 元素的名称本身就对应一个 View。比如,< TextView > 会在界面里生成一个 TextView 控件,< LinearLayout > 则会创建一个 LinearLayout 容器。
举个最直观的例子,一个简单的垂直布局,上面放一个文本视图和一个按钮,大致就是下面这个样子:
当你的App加载上述的布局资源的时候,Android会将布局中的每个节点进行实例化成一个个对象,然后你可以为这些定义一些额外的行为,查询对象的状态,或者修改布局。 完整创建UI布局的引导,请参考XML Layouts
User Interface Components
你无需全部用View和ViewGroup对象来创建你的UI布局。Android给我们提供了一些app控件,标准的UI布局,你只需要定义内容。这些UI组件都有其属性介绍的API文档,比如操作栏,对话框和状态通知栏等。
本节小结
好吧,翻译可能比较拗口,哎,英语盲尽力了,简单归纳下上述内容:
Android 里的图形界面,本质上都是由 View、ViewGroup 以及它们各自的子类搭起来的。View:所有可视化控件的父类,负责提供组件绘制和事件处理相关的方法。ViewGroup:是 View 的子类,本身可以包含子控件,通常可以把它理解为一个容器。Android UI 里的控件,正是按照这种树状层级一层层组织起来的。至于创建 UI 布局,常见方式无非两种:要么直接在 Ja va 里写代码,要么通过 XML 来定义布局。相比之下,后者更省事,也更直观,所以也是最常用的做法。当然,实际开发中通常也不会直接拿 View 和 ViewGroup 去硬写布局,更多时候,都是基于它们的子类控件和容器来完成界面搭建。
恩呢,对View和ViewGroup有个大概了解即可,平时我们是不会直接用的,一般是自定义View的时候 才会使用这两个东西!
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。














