Andriod APP Kotlin 开发学习 001 ------ XML 脚本基础
Andriod APP 开发学习Kotlin引言正文引言我们将正式开启 Android APP 开发系列教程。今天我们先来搞懂创建完成 new project 后自带 activity_main.xml 脚本的含义。正文创建完成后会得到如下脚本?xml version1.0 encodingutf-8?androidx.constraintlayout.widget.ConstraintLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:idid/mainandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello World!app:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparent//androidx.constraintlayout.widget.ConstraintLayout?xml version1.0 encodingutf-8? 表示当前脚本文件为 xml 语言且满足 1.0 规范且使用的是 utf-8 编码形式。默认开头记住就好不用更改。且需要注意对于 xml 脚本该语句必须放在首行前面不能有任何内容否则编译器报错。androidx.constraintlayout.widget.ConstraintLayout 在 xml 中 中间的部分是一个完整的标签注释信息不能够放在标签内部。ConstraintLayout 是整个布局的根容器所有其他控件都要放在里面。可以视作固定写法。因此androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/android xmlns:apphttp://schemas.android.com/apk/res-auto xmlns:toolshttp://schemas.android.com/tools android:idid/main android:layout_widthmatch_parent android:layout_heightmatch_parent tools:context.MainActivity是一个长标签。xml 中的注释信息无单行多行之分只需要将注释信息放在!-- 注释信息 --内即可。xmlns:androidhttp://schemas.android.com/apk/res/android xmlns:apphttp://schemas.android.com/apk/res-auto xmlns:toolshttp://schemas.android.com/toolsxmlns 是 xml NameSpace 的缩写可以理解为前缀声明。这三行是在告诉系统后面出现的 android:、app:、tools: 开头的属性分别去哪里查定义。需要注意的是http://schemas.android.com/apk/res/android看起来像是一个网站但是如果我们尝试打开这个地址是无法打开的事实上这个域名是被谷歌持有的写成这样只是为了区别命名空间的位置与别人的不一样实际编译器搜索的时候会去 SDK 中搜索 android会去项目中或第三方库中搜索 app 和以及在设计预览时才会生效的 tools 开头的属性打包为 APK 后会自动删除。android:idid/main: 给当前 ConstraintLayout 这个容器给一个 id叫做 main后续可以通过findViewById(R.id.main)语句找到这个容器。相当于给这个空间贴了一个标签方便查询。android:layout_widthmatch_parentandroid:layout_heightmatch_parentmatch_parent表示宽度和高度填满父容器也就是整个屏幕。相当于告诉容器“我们要占满整个屏幕”。tools:context.MainActivity这行只在 Android Studio 的设计预览中生效运行时会被忽略。目的是告诉编辑器“当前这个布局是和 MainActivity 页面关联的”方便在预览时显示正确的主题和可操作组件。TextView/ 显示文字的控件。wrap_content表示宽高刚好包裹住文字内容文字有多大控件就多大。android:textHello World!设置要显示的文字内容。下面的四行代码是 ConstraintLayout 的核心决定了 TextView 的位置。app:layout_constraintBottom_toBottomOfparent底部 → 对齐到父容器的底部app:layout_constraintEnd_toEndOfparent右边缘 → 对齐到父容器的右边缘app:layout_constraintStart_toStartOfparent左边缘 → 对齐到父容器的左边缘app:layout_constraintTop_toTopOfparent顶部 → 对齐到父容器的顶部四边都对齐父容器结果就是TextView 被锁定在屏幕正中央。/androidx.constraintlayout.widget.ConstraintLayout闭合根容器标签表示布局结束。在本文中出现了两种标签androidx.constraintlayout.widget.ConstraintLayout /androidx.constraintlayout.widget.ConstraintLayout叫做闭合标签由androidx.constraintlayout.widget.ConstraintLayout 开始标签和/androidx.constraintlayout.widget.ConstraintLayout标签组成它的内部可以插入各类其他控件。而TextView /叫做自闭合标签虽然它也可以写为闭合标签两个组成的形式但是因为它的内部本质上并不需要包含其他组件因此写成闭合标签的形式会显得冗余。

相关新闻

新手做拼多多一件代发,去哪里找便宜又靠谱的厂家一手货源?

新手做拼多多一件代发,去哪里找便宜又靠谱的厂家一手货源?

拼多多平台规则也日趋完善,之前简单粗暴搬运商品的无货源模式现在玩不通了,想要做好拼多多就需要找厂家货源进行铺货。新手卖家想要做拼多多的话,可以从一件代发做起。不需要自己囤货发货,省心省力,开店成本更低。 那么…

2026/10/25 16:36:43 阅读更多 →
e820_table 为空的情况

e820_table 为空的情况

e820_table 确实存在为空的情况。这种情况虽然不常见,但并非不可能,其根源在于引导程序(Bootloader)没有将内存映射信息传递给内核。核心原因:引导程序未传递内存映射e820_table 中的数据,是由引导程序&…

2026/10/22 5:53:51 阅读更多 →
后端巡检从哪开始:盯住错误率、延迟和队列积压

后端巡检从哪开始:盯住错误率、延迟和队列积压

后端巡检从哪开始:盯住错误率、延迟和队列积压 巡检先盯趋势和可行动线索,不追求堆满阈值。Goroutine、磁盘与连接池都要结合服务历史基线解释,告警里还应附下一条只读排查命令。 建立最小巡检集 可用性:/healthz、关键依赖的连通…

2026/10/25 13:04:02 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →