编辑定义此应用的 UI 布局的 XML 文件.XML代表可扩展标记语言,这是一种使用基于文本的文档描述数据的方法。由于 XML 是可扩展且非常灵活的,因此它用于许多不同的操作,包括定义 Android 应用的 UI 布局。其他资源(如应用的字符串)也在名为字符串的 XML 文件中定义.xml
Android 应用的 UI 构建为组件的包含层次结构,以及这些组件的屏幕布局。请注意,这些布局本身就是 UI 组件。
您描述屏幕上的 UI 元素的视图层次结构。例如,约束布局(父项)可以包含按钮、文本视图、图像视图或其他视图(子视图)。请记住,约束布局是视图组的子类,它允许您以灵活的方式定位子视图或调整其大小。 每个 UI 元素都由 XML 文件中的一个 XML 元素表示。每个元素都以 标记开头和结尾,每个标记都以 <开头,以>结尾。正如您可以使用布局编辑器(设计)在 UI 元素上设置属性一样,XML 元素也可以具有属性。简化后,上述 UI 元素的 XML 可能如下所示:
<ConstraintLayout>
<TextView
text="Hello World!">
</TextView>
</ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:text="Hello World!" />
<Button
android:text="Calculate" />
</androidx.constraintlayout.widget.ConstraintLayout>
有关用于布局的 XML 的更多信息:
-
查看约束布局的标记,请注意它说的是 androidx.约束布局.widget.约束布局,而不仅仅是像 TextView 那样的约束布局。这是因为约束布局是安卓喷气背包的一部分,它包含代码库,在核心Android平台之上提供额外的功能。Jetpack具有有用的功能,您可以利用这些功能使构建应用程序变得更加容易。你会认出这个UI组件是喷气背包的一部分,因为它以“androidx”开头。
-
您可能已经注意到以 xmlns: 开头的行,后跟 Android、应用和工具。xmlns 代表 XML 命名空间,每行定义一个架构,或与这些单词相关的属性的词汇表。例如,安卓:命名空间标记由安卓系统定义的属性。布局 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"
-
XML 元素之间的空格不会改变计算机的含义,但它可以帮助人们更轻松地阅读 XML。
-
您可以向 XML 添加注释,就像使用 Kotlin 代码一样。开始。
<!-- this is a comment in XML --> <!-- this is a multi-line Comment. And another Multi-line comment -->
-
请注意 XML 文件的第一行:这表示该文件是 XML 文件,但并非每个 XML 文件都包含此文件。
<?xml version="1.0" encoding="utf-8"?>
注: 约束的名称跟在窗体layout_constraint_toOf之后,其中引用当前视图。指当前视图被约束到的目标视图的边缘,即父容器或其他视图。
注: 资源 ID 是 元素的唯一资源名称。当您使用布局编辑器添加视图或其他资源时,Android Studio 会自动为其分配资源 ID。手动键入 XML 时,需要自己显式声明资源 ID。XML 文件中的新视图 ID 必须使用 @+id 前缀进行定义,这会告诉 Android Studio 将该 ID 添加为新的资源 ID。在应用代码中引用资源 ID 时,请使用 R..;例如,字符串卷。对于视图 ID,是 id,例如,R.id. 按钮。
注: 不能对约束布局中的任何视图使用match_parent。请改用 0dp,这意味着匹配约束。
#总结 XML(可扩展标记语言)是一种组织文本的方法,由标记、元素和属性组成。使用 XML 定义安卓应用的布局。编辑文本可以有一个提示,告诉用户该字段中的预期内容。指定安卓:输入类型属性以限制用户可以在编辑文本字段中输入的文本类型。使用单选按钮制作独占选项列表,并与单选组分组。单选按钮可以是垂直的,也可以是水平的,您可以指定最初应选择哪个单选按钮。使用“切换”可让用户在两个选项之间切换。您可以向交换机添加标签,而无需使用单独的文本视图。约束布局的每个子级都需要具有垂直和水平约束。使用“开始”和“结束”约束来处理从左到右 (LTR) 和从右到左 (RTL) 语言。约束属性的名称跟在layout_constraint_toOf的形式后面。要使视图的宽度与其所在的约束布局一样宽,请将起点和终点限制为父级的起点和终点,并将宽度设置为 0dp。
详情关注vx公众号:Android老皮