第3章 基本组件第一课


第 3 章 · 基本组件第一课

章节摘要:组件是界面的砖。本章沿猜数字 App 的界面逐步升级这条线,解剖最常用的三组控件:文本双兄弟 TextView/EditText、选择类 Button/CheckBox/RadioButton、以及 ImageView/进度条/ScrollView。每一组都配完整 XML 与 Kotlin,讲清高频属性、易错点和选型判断。

一条主线

App 的界面需求在生长:一开始只有一行标题(TextView);要接收猜测就得有输入框(EditText);要提交就得有按钮(Button);想加"简单/普通/困难"模式选择,就有了 RadioButton;猜错七次给个提示弹窗前要有进度条;再往后历史记录多到一屏放不下,ScrollView 登场。本章就按"显示文本 → 输入与选择 → 图像、进度与滚动"这条需求线推进,每个控件都是被一个具体需求逼出来的。

沿途站点

  • 3.1 TextView 与 EditText 文本双兄弟:一个负责显示、一个负责输入,maxLines 与 inputType 是两个最重要的属性门神。
  • 3.2 Button、CheckBox 与 RadioButton:触发类与选择类控件的分野,RadioGroup 的互斥逻辑,自定义按钮外观的正规姿势。
  • 3.3 ImageView、进度条与 ScrollView:图片的 scaleType 裁剪策略、进度指示的两种形态、把界面装进可滚动的容器。

拐点与结论

本章的关键认知拐点:EditText 继承自 TextView,Button 又继承自 TextView——Android 的控件是一棵继承树而不是一堆孤立工具。想懂一个控件的属性为什么长这样,往父类追一层往往就有答案。另一个落点是选型意识:显示用 TextView、输入用 EditText、互斥选择用 RadioGroup、多选用 CheckBox,用错容器(比如用多个 CheckBox 模拟单选)会平白多写状态同步代码。

三组控件的分工与继承关系:

读完你应该

  • 能配置 maxLines、ellipsize、inputType 解决文本显示与输入的常见问题
  • 能用 RadioGroup 实现互斥单选并监听选择变化
  • 能解释 ImageView 各 scaleType 的裁剪差异并按场景选型
  • 能区分确定与不确定两种进度指示的使用时机
  • 能用 ScrollView 包裹超长内容并说明它只能有一个子 View 的原因

下一章的接力

砖备齐了,但一摞控件怎么排成有序的界面?第 4 章进入骨架部分:四种布局容器各自的排列规则、什么时候用谁,以及用 ConstraintLayout 把层级压扁的现代做法。

三个容易被轻视的细节

其一,控件 id 的命名纪律从本章就要立起来:tv_ 前缀配 TextView、et_ 配 EditText、btn_ 配 Button,三个字符换来的是后文 View Binding 里一眼可读的变量名。其二,每个控件都值得读一遍它的常用 XML 属性表,不是背下来,而是知道有哪些旋钮可拧——真遇到"文字太长被截断"这类问题时,你能想到去查 ellipsize 而不是自己写截断逻辑。其三,控件的选择题比填空题重要:需求是显示还是输入、单选还是多选、确定进度还是不确定进度,选对了控件,一半的代码就不用写了。本章的知识点清单可核对:配置 maxLines 与 ellipsize、设置 inputType 与 imeOptions、安全读取输入、RadioGroup 互斥监听、scaleType 按场景选型、ScrollView 单子 View 约束——六项逐条能过,基本组件课就毕业了。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U