安卓开发LinearLayout的属性极其用法

线性布局(LinearLayout)是 Android 开发中常用的布局之一,它可以按照水平(horizontal)或垂直(vertical)方向排列子视图。以下是线性布局的一些常用属性和用法:

  1. **android:orientation**:指定布局方向,可以设置为"horizontal"(水平)或"vertical"(垂直)。

示例:

```xml

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

<!-- 垂直布局 -->

</LinearLayout>

```

  1. **android:layout_weight**:设置子视图在布局中的相对权重,用于控制子视图在分配额外空间时的相对大小比例。通常与布局的宽度或高度为 "0dp" 配合使用。

示例:

```xml

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

<Button

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="按钮1" />

<Button

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="2"

android:text="按钮2" />

</LinearLayout>

```

  1. **android:gravity**:设置布局中子视图的对齐方式,例如居中、靠左、靠右等。注意,该属性影响的是子视图在布局内的对齐方式,而不是布局本身。

示例:

```xml

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:gravity="center_horizontal">

<!-- 子视图会在垂直方向上居中对齐 -->

</LinearLayout>

```

  1. **android:layout_gravity**:设置布局在父布局中的对齐方式,例如居中、靠左、靠右等。

示例:

```xml

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center_horizontal">

<!-- 布局会在水平方向上居中对齐 -->

</LinearLayout>

```

  1. **android:layout_margin** 和 **android:layout_marginStart**、**android:layout_marginEnd**、**android:layout_marginTop**、**android:layout_marginBottom**:设置子视图与父布局或其他子视图之间的外边距。

示例:

```xml

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="8dp"

android:text="按钮" />

```

这些是线性布局中常用的一些属性和用法。

相关推荐
uzong3 小时前
程序员从大厂回重庆工作一年
java·后端·面试
kyle~3 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
天青Giser7 小时前
Android开发记录
android
子春一7 小时前
Flutter 与原生平台深度集成:打通 iOS 与 Android 的最后一公里
android·flutter·ios
开心香辣派小星7 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
Halo_tjn8 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
雷工笔记8 小时前
MES学习笔记之SCADA采集的数据如何与MES中的任务关联起来?
笔记·学习
小邓   ༽8 小时前
全场景Android测试:API、工具与案例,从TestCase到Mock类应用指南
android·android 测试·android 组件测试·mock 类·测试 api 应用·组件测试核心
摆烂z8 小时前
Docker与Jib(maven插件版)实战
java