一、说明

1.每个应用程序都默认包含一个主界面布局文件(.xml)。

2.位于项目的app/src/main/res/layout目录。

3.宽度和高度的属性

match_parent:强制性的使使徒扩展至父元素大小。

wrap_content:强制性地使视图扩展以显示全部内容。

4.布局文件名称只能包含小写字母(a-z)数字(0-9)和下划线组成,并且只能是小写字母开头。

5.五大布局:

二、布局文件的创建

 

三、线性布局(LinearLayout)

1.常用属性

orientation:布局中组件的排列方式,有horziontal(水平)和vertical(垂直)两种方式。

gravity:控制组件所包含的子元素的对齐方式,可多个组合,如(left|buttom)。

layout_gravity:控制该组件在父容器里的对齐方式。

layout_width:布局的宽度,通常不直接写数字,用wrap_content(组件实际大小),fill_parent或者match_parent填满父容器。

layout_height:布局的高度,参数同上。

id:为该组件设置一个资源id,在java文件中可以通过findViewByid(id)找到该组件。

background:为该组件设置一个背景图片,或者直接用颜色覆盖。

2.Weight(权重)

该属性是用来等比例地划分区域。

要等比例划分,分谁,谁的layout_width="0dp",,layout_weight按比例即可。

 

四、相对布局(RelativeLayout)

1.基本属性

gravity:设置容器内组件的对齐方式。

ignoreGravity:设置了该属性为true的属性的组件,将不受gravity属性的影响。

2.根据父容器定位

layout_alignParentLeft:左对齐。

layout_alignParentRight:右对齐。

layout_alignParentTop:顶部对齐。

layout_alignParentBottom:底部对齐。

layout_centerHorizontal:水平居中。

layout_centerVertical:垂直居中。

layout_centerInParent:中间位置。

3.根据兄弟组件定位

layout_toLeftOf:参考组件的左边。

layout_toRightOf:参考组件的右边。

layout_above:参考组件的上方。

layout_below:参考组件的下方。

layout_alignTop:对齐参考组件的上边界。

layout_alignBottom:对齐参考组件的下边界。

layout_alignLeft:对齐参考组件的左边界。

layout_alignRight:对齐参考组件的右边界。

4.margin(偏移)

layout_margin:设置组件上下左右的偏移量。

layout_marginLeft:设置组件离左边的偏移量。

layout_marginRight:设置组件离右边的偏移量。

layout_marginTop:设置组件离上面的偏移量。

layout_marginBottom:设置组件离下面的偏移量。

5.padding(填充)

padding:往内部元素的上下左右填充一定边距。

paddingLeft:往内部元素的左边填充一定边距。

paddingRight:往内部元素的右边填充一定边距。

paddingTop:往内部元素的上方填充一定边距

paddingBottom:往内部元素的下方填充一定边距。

 

五、表格布局(TableLayout)

1.说明

(1)需要和TableRow标记配合使用,TableRow的数量决定表格的行数。

(2)表格的列数是由包含最多控件的TableRow决定的。

(3)TableRow的layout_width属性默认为match_parent,其他值不会生效。

(4)layout_height默认是wrap_content,可以设置大小。

(5)整个表格布局的宽度和取决于父容器的宽度。

2.常用属性

collapseColumns:设置需要被隐藏的列的序号。

shrinkColumns:设置允许被收缩的列的序列号。

stretchColumns:设置允许被拉伸的列的序列号。

注意:列号从0开始。

layout_column=“2”跳过第二个格子,直接显示到第三个格子处。

layout_span="4"合并四个单元格

六、帧布局(FrameLayout)

直接开辟一块空白区域,拖进去的控件默认位置左上角。

前景图像:用于处于帧布局最上面,直接面对用户的图像,是不会被覆盖的图片。

1.常用属性

foreground:用来设置帧布局容器的前景图像。

foregroundGravity:用来设置帧布局容器的前景图像显示的位置。

七、绝对布局(AbsoluteLayout)

layout_x:横坐标

layout_y:纵坐标

Android常用五大布局的更多相关文章

  1. Android菜鸟成长记7 -- Android的五大布局

    Android五大布局,相信android的都了解过,今天我根据自己的学习整理一下五大布局,主要介绍的是线性布局(LiearLayout),因为,其他的布局使用率不是很高. Android的五大布局 ...

  2. [置顶] Android系统五大布局详解Layout

    我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit等 ...

  3. Android系统五大布局详解Layout

    我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前, 视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit ...

  4. android的五大布局(layout)

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...

  5. Android学习----五大布局

    1.LinearLayout 线性布局 android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical ...

  6. Android笔记——Android五大布局

    一.五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是Li ...

  7. Android——五大布局

    Android的五大布局分为: 线性布局 相对布局 帧布局 绝对布局 表格布局 一.线性布局 线性布局在开发中使用最多,具有垂直方向与水平方向的布局方式 通过设置属性"android:ori ...

  8. Android 五大布局(LinearLayout、FrameLayout、AbsoulteLayout、RelativeLayout、TableLayout )

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  9. 浅谈Android五大布局

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...

随机推荐

  1. composer+psr-4实现自动加载

    自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个免费的自动加载支持. require 'vendor/ ...

  2. [故障解决]图文:windows apache无法启用 端口被占用

    windows apache无法启用 端口被占用 1 XAMPP Error: Apache shutdown unexpectedly 无法启动apache,显示的log为: 2 查了一下端口, 通 ...

  3. INTERVIEW #0

    一.造成网络延迟的可能原因 1,WiFi所有用户上下行流量共用一个信道,当用户太多或者有人在下载大的资源时带宽不够,丢包: 2,线路质量不佳导致信噪比太低,比如光纤损耗太大等. 二.IPv6优势 1, ...

  4. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...

  5. 一只简单的网络爬虫(基于linux C/C++)————利用正则表达式解析页面

    我们向一个HTTP的服务器发送HTTP的请求后,服务器会返回可能一个HTML页面(当然也可以是其他的资源),我们可以利用返回的HTML页面,在其中寻找其他的Url,例如我们可以这样在浏览器上查看一下H ...

  6. 动态SQL各个标签作用以及注意事项详解

    创建com.mybatis包,包含:UserMapper.xml和mybatis-config.xml UserMapper.xml代码: <?xml version="1.0&quo ...

  7. golang之method

    method Go does not have classes. However, you can define methods on types. package main import ( &qu ...

  8. C# 数据操作系列 - 0. 序言

    0. 前言 在上一个系列中,我们初步浏览了一下C#的基础知识.这句话的意思就是C#基础知识系列完结了,撒花.当然,并不是因为C#已经讲完了.正是因为我们轻轻地叩开了那扇门,才能看到门后面那瑰丽的世界. ...

  9. 面向开发者的Docker实践

    show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringboot 我是布尔bl,你的支持是我分享的动力! 一. 引入 有开发经验的都 ...

  10. Java集合简单介绍

    再最前面分享一下我再学习集合时的方法: 1.首先了解各集合的定义和特点 2.集合的构造方法和常用方法(增删改查等) 3.了解集合使用的场景,再什么情况下使用什么类型的集合(关键是集合的特性) 4.了解 ...