章节摘要:本章跟着"猜数字"App 的第一步走——新建项目后那块只有一个文本框的空屏幕。我们要弄明白屏幕上的每个东西在系统眼里是什么、Activity 怎样把一份 XML 变成用户看到的界面、代码又在哪里接管交互。读完你能对着任何一个 Android 界面说出它的层级结构。
起点是这个最普通的场景:模拟器启动,屏幕正中一行 "Hello World!"。这行字不是凭空画上去的,它背后是一条完整的链路——Kotlin 里一个 Activity 调用了布局文件,布局文件里一个 TextView 负责显示文字。本章就沿着这条链路拆开来讲:屏幕上是什么(1.1)→ 它们怎么组织(1.2)→ 谁来驱动它(1.3)。走完这条线,"界面"在你就不再是玄学,而是一棵可以逐层指认的树。
初学者最常见的认知拐点在 1.2:界面不是"一张画布",而是一棵视图树。想改哪个元素,就先在树里找到它;想理解布局为什么这样排,就看它的父节点是什么 ViewGroup。抓住这一点,第 4 章的各种布局就成了"不同的父节点有不同的排列规则"这一句话的展开。
本章的界面层级全景如下:
主线到这里还停在"能显示、能点一下"的阶段。屏幕上有了控件,下一步自然要让它"好看且在各种手机上都好看"——第 2 章进入设计侧:Material Design 原则、dp/sp 单位与屏幕适配,正是把粗糙原型变成体面界面的那一课。
其一,动手优先于记忆:本章每个概念都该在 Android Studio 里亲手验证一次,新建项目、改一个属性、跑一遍模拟器,十分钟一轮的反馈循环比读三遍文字记得牢。其二,允许暂时悬置:setContentView 背后的inflate 细节、Activity 的完整生命周期,本章都只开了窗没进门,门在第 5 章与第 8 章,现在带着问题走比当场挖透更划算。其三,术语要咬准:控件、视图、组件在日常聊天里常混用,但读官方文档时 View 就是一切可视元素的基类,咬准术语能省下后来对不上号的困惑。本章的知识点清单包括:说出 View 与 ViewGroup 的职责差异、画出三层以上界面的层级草图、解释 setContentView 的角色、分清 XML 声明与代码行为的边界——四条都能脱口而出,才算过关。