当前位置: 首页 > news >正文

Andriod APP Kotlin 开发学习 001 ------ XML 脚本基础

Andriod APP 开发学习(Kotlin)

  • 引言
  • 正文

引言

我们将正式开启 Android APP 开发系列教程。今天我们先来搞懂创建完成 new project 后自带 activity_main.xml 脚本的含义。

正文

创建完成后会得到如下脚本:

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/></androidx.constraintlayout.widget.ConstraintLayout>

<?xml version="1.0" encoding="utf-8"?>: 表示当前脚本文件为 xml 语言,且满足 1.0 规范,且使用的是 utf-8 编码形式。默认开头记住就好,不用更改。且需要注意,对于 xml 脚本,该语句必须放在首行,前面不能有任何内容,否则编译器报错。
<androidx.constraintlayout.widget.ConstraintLayout>: 在 xml 中,<> 中间的部分是一个完整的标签,注释信息不能够放在标签内部。ConstraintLayout 是整个布局的根容器,所有其他控件都要放在里面。可以视作固定写法。
因此,<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">是一个长标签。

xml 中的注释信息无单行多行之分,只需要将注释信息放在<!-- 注释信息 -->内即可。

xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools":xmlns 是 xml NameSpace 的缩写,可以理解为前缀声明。这三行是在告诉系统:后面出现的 android:、app:、tools: 开头的属性,分别去哪里查定义。需要注意的是,http://schemas.android.com/apk/res/android看起来像是一个网站,但是如果我们尝试打开这个地址是无法打开的,事实上,这个域名是被谷歌持有的,写成这样只是为了区别命名空间的位置与别人的不一样,实际编译器搜索的时候,会去 SDK 中搜索 android,会去项目中或第三方库中搜索 app 和以及在设计预览时才会生效的 tools 开头的属性,打包为 APK 后会自动删除。

android:id="@+id/main": 给当前 ConstraintLayout 这个容器,给一个 id,叫做 main,后续可以通过findViewById(R.id.main)语句找到这个容器。相当于给这个空间贴了一个标签,方便查询。

android:layout_width="match_parent",android:layout_height="match_parent":match_parent:表示宽度和高度填满父容器(也就是整个屏幕)。相当于告诉容器:“我们要占满整个屏幕”。

tools:context=".MainActivity":这行只在 Android Studio 的设计预览中生效,运行时会被忽略。目的是告诉编辑器:“当前这个布局是和 MainActivity 页面关联的”,方便在预览时显示正确的主题和可操作组件。

<TextView/>: 显示文字的控件。wrap_content:表示宽高刚好包裹住文字内容,文字有多大,控件就多大。
android:text="Hello World!":设置要显示的文字内容。

下面的四行代码是 ConstraintLayout 的核心,决定了 TextView 的位置。
app:layout_constraintBottom_toBottomOf="parent":底部 → 对齐到父容器的底部
app:layout_constraintEnd_toEndOf="parent":右边缘 → 对齐到父容器的右边缘
app:layout_constraintStart_toStartOf="parent":左边缘 → 对齐到父容器的左边缘
app:layout_constraintTop_toTopOf="parent":顶部 → 对齐到父容器的顶部
四边都对齐父容器,结果就是:TextView 被锁定在屏幕正中央。

</androidx.constraintlayout.widget.ConstraintLayout>:闭合根容器标签,表示布局结束。

在本文中出现了两种标签,<androidx.constraintlayout.widget.ConstraintLayout ></androidx.constraintlayout.widget.ConstraintLayout>叫做闭合标签,由<androidx.constraintlayout.widget.ConstraintLayout >开始标签和</androidx.constraintlayout.widget.ConstraintLayout>标签组成,它的内部可以插入各类其他控件。而<TextView />叫做自闭合标签,虽然它也可以写为闭合标签两个组成的形式,但是因为它的内部本质上并不需要包含其他组件,因此写成闭合标签的形式会显得冗余。

http://www.jsqmd.com/news/1403597/

相关文章:

  • 中山优才教育:资阳人工智能应用工程师报名入口、条件与流程详解 - 学历提升热点资讯
  • 事件触发控制在网络控制系统中的应用与优化
  • 服务网格巡检要看什么:配置下发、代理状态与请求错误
  • OpenClaw浏览器插件配置实战:打通AI智能体与网页自动化
  • DeepSeek V4接入Codex平台:0.24元完成3个数据分析任务的实战指南
  • 从零搭建本地AI编程助手:基于DeepSeek与VS Code的完整实践指南
  • 南宁市靠谱的本地正规防水补漏维修团队哪家好_渗漏治理本地修缮队伍分辨方法,业主实际挑选心得,避雷 - 雨婺虹修缮
  • 深入解析JavaScript事件循环:从宏任务微任务到异步编程实战
  • pprof 自动抓取 CPU 异常:触发条件与数据留存
  • 内景 新中式 展厅 展览馆
  • 模拟器ADB连接故障排查:从原理到实战的完整解决方案
  • Eclipse集成MapStruct实战:解决Java对象映射配置与性能优化
  • 顺丰同城骑士全天派单量稳定性说明——给合作商家及投资者的安心提示 - 服务品牌热点
  • OpenClaw插件系统实战:从架构原理到自定义开发指南
  • 高性价比头戴式耳机推荐:10 款兼顾舒适与音质的头戴耳机精选
  • OpenClaw开源AI智能体框架:从本地部署到自定义技能开发全解析
  • 2026年8月北京税务行政诉讼代理律师事务所推荐:4家资深律所盘点 - 品牌深度评测
  • 从云到本地:基于Dify/Coze构建可私有化部署的AI Agent工作流
  • 2024年Python安装配置全攻略:从避坑到实战项目
  • Tabby终端工作台:从命令行到高效开发环境的全面进化
  • 《数学少年-从正负号到几何原本》(第六章:“单式拼接,整式成章“)--6.4 同类相聚,异类各安
  • 高精度问题
  • NVIDIA Nemotron 3.5 Lightning:极致推理速度与本地部署实践指南
  • 网络故障排查实战指南:从新手到高手的四步心法
  • 2026年小型仿经编割圈绒圆机定制厂家供应能力评估:高精度织造与稳定性能源头工厂选择参考 - 卓企推荐
  • 远程工作台巡检:把证书、磁盘和备份交给脚本
  • 2026年8月可靠的现浇阳台公司报价,阳台现浇搭建/现浇楼梯搭建/钢结构现浇楼板/现浇钢结构楼梯搭建,现浇阳台公司有哪些 - 企业权威推荐大使
  • 在Android手机部署OpenClaw AI助手并接入企业微信全流程指南
  • 港股财务数据分析:从采集到建模的完整指南
  • 论文AI率老是飘红?我用降AI神器一路绿灯畅通!