一、说明

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. Json & pickle 数据序列化

    前提: 文本文件中只能写入字符串或ascii码格式的内容. info={'name':'zoe','age':18} f=open('test.txt','w') f.write(info) #在文本 ...

  2. 在线图片资源转换成Base64格式

    function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width ...

  3. mac OS nvm 常用命令

    nvm install stable ## 安装最新稳定版 node,当前是node v10.15.0 (npm v6.4.1) nvm install <version> ## 安装指定 ...

  4. Java9新特性系列(module&maven&starter)

    上篇已经深入分析了Java9中的模块化,有读者又提到了module与starter是什么关系?本篇将进行分析. 首先先回顾下module与maven/gradle的关系: module与maven/g ...

  5. Codeforces Round #587

    题目链接:Round #587 题目答案:官方Editorial.My Solution A. Prefixes 题意:给一字符串,只含有'a'或'b',需要改变某些位置('a'变'b'或'b'变'a ...

  6. vue中给window添加滚动监听无效的解决方案

    原文链接: 点我 页面中有这么一个需求,当页面滚动到一定高度之后,页面中的某些元素进行吸顶,固定到顶部位置,或者是滚动到一定程度进行更新数据的操作.我相信不少网友查阅过类似的资料,网友给出的解决方案, ...

  7. 刷新DNS解析缓存+追踪+域名解析命令

    刷新DNS解析缓存 命令:ipconfig /flushdns 用于改完host之后. 追踪IP: 命令:tracert www.baidu.com 域名解析: 命令:nslookup www.bai ...

  8. C#基础之接口(6)

    接口的定义:interface. 什么是接口? 接口,我的理解是接口是一种规范.就好比,一个生产数据线的厂商有很多,形状,外观都不一样,现在制定了一个规范那就是所有的数据线生产商都必须把产品外观形状都 ...

  9. 大batch任务对structured streaming任务影响

    信念,你拿它没办法,但是没有它你什么也做不成.—— 撒姆尔巴特勒 前言 对于spark streaming而言,大的batch任务会导致后续batch任务积压,对于structured streami ...

  10. LTE无线网络优化简介

    LTE无线网络优化特点 覆盖和质量的估计参数不同 TD-LTE使用RSPP.RSRQ.SINR进行覆盖和质量的评估. 影响覆盖问题的因素不同 工作频段的不同,导致覆盖范围的差异显著:需要考虑天线模式对 ...