Android系统中的 XML

78 阅读4分钟

编辑定义此应用的 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 的更多信息:

  1. 查看约束布局的标记,请注意它说的是 androidx.约束布局.widget.约束布局,而不仅仅是像 TextView 那样的约束布局。这是因为约束布局是安卓喷气背包的一部分,它包含代码库,在核心Android平台之上提供额外的功能。Jetpack具有有用的功能,您可以利用这些功能使构建应用程序变得更加容易。你会认出这个UI组件是喷气背包的一部分,因为它以“androidx”开头。

  2. 您可能已经注意到以 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"
    
    
  3. XML 元素之间的空格不会改变计算机的含义,但它可以帮助人们更轻松地阅读 XML。

  4. 您可以向 XML 添加注释,就像使用 Kotlin 代码一样。开始。

    <!-- this is a comment in XML -->
    <!-- this is a
    multi-line 
    Comment.
    And another
    Multi-line comment -->
    
    
  5. 请注意 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老皮