安卓开发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="按钮" />

```

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

相关推荐
TheSumSt2 小时前
Python丨课程笔记Part3:语法进阶部分(控制结构与基础数据结构)
数据结构·笔记·python
.鸣2 小时前
set和map
java·学习
ha_lydms2 小时前
5、Spark函数_s/t
java·大数据·python·spark·数据处理·maxcompute·spark 函数
李艺为2 小时前
根据apk包名动态修改Android品牌与型号
android·开发语言
IT19953 小时前
Qt笔记-使用SSH2进行远程连接linux服务器并上传文件
linux·服务器·笔记
黄河滴滴3 小时前
java系统变卡变慢的原因是什么?从oom的角度分析
java·开发语言
侠客行03173 小时前
Mybatis二级缓存实现详解
java·mybatis·源码阅读
老华带你飞3 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
Edward111111114 小时前
tomcat_servlet
java·servlet·tomcat
Tom4i4 小时前
【网络优化】Android 如何监听系统网络连接成功
android·网络