android 控件上下排列_Android几种常用布局详解

本文详细介绍了Android的四种常见布局:LinearLayout、RelativeLayout、FrameLayout和ConstraintLayout。LinearLayout以线性方式排列控件,支持水平和垂直方向;RelativeLayout允许自由定位控件,更灵活;FrameLayout是最简单的布局,常用于Fragment;ConstraintLayout是强大的布局,通过约束实现复杂设计。文章通过实例展示了各布局的关键属性和用法。
摘要由CSDN通过智能技术生成

写在前面

一直想写一写布局,趁今天有空好好总结一下,留着以后看。

综述

Android的布局有好多好多种,官方的、自定义的等等,五花八门。原来安卓有五大基本布局,现在共有六种,前五种是传统的,还有一种是比较新的。

五种传统布局

LinearLayout(线性布局)

RelativeLayout(相对布局)

FrameLayout(帧布局)

AbsoluteLayout(绝对布局)

TableLayout(表格布局)

其中,最常用的布局是前三种,绝对布局用过一点,表格布局根本没用过(可能会很好用吧,但是前几种满足了我的日常需求)

新布局

ConstraintLayout(约束布局)

谷歌爸爸在2016年新出的布局,现在取代RelativeLayout成了创建空Activity的默认布局,非常非常强大,操作非常简洁。

接下来主要对LinearLayout(线性布局)、RelativeLayout(相对布局)、FrameLayout(帧布局)、ConstraintLayout(约束布局)进行介绍

一、LinearLayout

0.简介

线性布局,最常用的布局之一,所有包含在线性布局里的控件在线性方向上依次排列。接下来看看一些线性布局常用的属性。

1.方向

在线性布局里面的控件,是按照线性的顺序进行排列的,方向有两种:横向和纵向。

属性和属性值:

android:orientation="horizontal" //水平

android:orientation="vertical" //垂直

实例:

//水平

android:orientation="horizontal"

2598626b1b04?appinstall=0

水平

//垂直

android:orientation="vertical"

2598626b1b04?appinstall=0

垂直

2.对齐方式

属性:

android:gravity

android:layout_gravity

需要注意的是,这两个属性是有区别的:

android:gravity是指本元素的子元素相对它的对齐方式,

android:layout_gravity是指本元素相对它的父元素的对齐方式。

相同的,对于其他属性,如果加上layout_前缀,就代表着本元素相对父元素的属性。

常用的属性值:

android:gravity="center_horizontal" 子控件水平方向居中

android:gravity="center_vertical" 子控件竖直方向居中

android:gravity="center" 子控件竖直方向和水平方向居中

android:gravity= start || end || top || bottom 子控件左对齐 || 右对齐 || 顶部对齐 || 底部对齐

android:gravity= left || right 子控件左对齐 || 右对齐

这里的start和left属性,end和right属性需要注意一下,这里写的是对于中国的情况而言。实际上,他们两个是不同的,left是绝对的左边,而start会根据不同的国家习惯改变。比如在从右向左顺序阅读的国家,start代表的就是在右边

实例:

效果一:第一个子控件设置水平垂直

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="com.example.icephone_1.layouttest.MainActivity">

android:id="@+id/tx_one"

android:textSize="30sp"

android:layout_gravity="center_horizontal" //子控件设置水平垂直

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!" />

android:id="@+id/tx_two"

android:textSize

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值