Logo
Section 1 / 5

布局简介

学习Android中不同布局的重要性,并掌握其使用方法。

导入

布局简介

学习Android中不同布局的重要性,并掌握其使用方法。

简介

在 Android 中,布局用于定义屏幕的显示方式。布局可以通过组合 View 和 ViewGroup 来构建。
一个 View(如 Button 或 EditText)是用户可以直接交互的元素。而 ViewGroup 则是一个不可见的容器,用于定义 View 元素以及其他 ViewGroup 容器的排列方式,从而决定屏幕的展示效果。Android 框架允许我们以 XML 文件 的形式声明 UI 元素,或在运行时动态创建它们。从性能角度来看,两种方式效率相当,但通常推荐使用 XML 方式,因为它能将界面代码与控制逻辑分离。

如何定义布局

布局以 XML 文件的形式进行定义。为了让框架识别并将其渲染为 View,我们需要将这些文件保存在项目中的 res/layout 目录下。以下是一个示例布局,展示了一个包含图片和下方文字的简单屏幕。我们将此布局保存为 example_layout.xml。

1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical"> 7 8 <androidx.appcompat.widget.AppCompatImageView 9 android:src="@mipmap/ic_launcher" 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content"/> 12 13 <androidx.appcompat.widget.AppCompatTextView 14 android:id="@+id/tv_counter" 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 tools:text="I am a dummy text"/> 18 19</LinearLayout>

布局文件应以 .xml 为扩展名。

如何使用布局

一旦我们在对应的 XML 文件中定义了布局,就需要将该布局的引用传递给适当的方法,以便获取由该布局渲染出的 View 对象。渲染 View 同时也意味着需要管理其生命周期。生命周期可以理解为当前 UI 显示状态的体现。Activity 和 Fragment 是最常见且最具备独立管理生命周期能力的组件,它们能够负责渲染 View。

为了简化开发,这些生命周期感知组件通常提供预定义的回调方法,可用于定义当前屏幕的行为。现在我们知道可以使用 Activity 或 Fragment 将 View 渲染到屏幕上,接下来就可以加载上一节中定义的布局,并在 Activity 中为用户呈现相应的界面。

1override fun onCreate(savedInstanceState: Bundle?) { 2 super.onCreate(savedInstanceState) 3 setContentView(R.layout.example_layout) 4}
  • 布局文件的名称必须与保存该文件的文件名一致。
  • 必须在 Fragment 或 Activity 的合适生命周期方法中加载布局。

Android 布局的属性

属性用于定义布局中元素的外观。我们可以使用属性来设置单个 View 的样式、位置以及与其他元素的对齐关系。以下是一些最常见的属性:

  • android:id:与 View 关联的唯一标识符,用于在布局树中唯一标识该视图。

  • android:layout_width:定义 View 的宽度。其值可以是 wrap_content、match_parent,或以密度无关像素(dp)表示的具体数值。

  • android:layout_height:定义 View 的高度。与 layout_width 类似,其值也可以是 wrap_content、match_parent,或具体的密度无关像素值。

  • android:layout_margin:定义 View 周围所需的外边距空间。

  • android:padding:定义 View 内部的内边距空间。

除了上述属性外,还有许多其他属性可用于构建用户界面,我们将在本课程中逐步学习。

Android 中的布局类型

Android 框架提供了多种布局类型,帮助我们根据设计需求实现用户界面。以下是最常用的几种布局:

  • LinearLayout:按垂直或水平方向依次排列子元素,具体方向由 orientation 属性决定。

  • RelativeLayout:当需要根据其他元素或父容器的位置来定位元素时使用。

  • FrameLayout:通常用于仅显示一个 View,多个子视图可重叠显示。

  • ListView:用于展示列表形式的数据项。

  • WebView:用于在应用中嵌入并显示网页内容。

总结

本节课简要介绍了 Android 中最常用的几种布局。框架还提供了其他多种布局,可根据所需界面效果灵活选用。此外,我们还可以通过继承基础类来自定义 View 和 ViewGroup 容器。

概览

创建和使用片段