Android 常用布局介绍
属性名称 | 功能描述 | |
android:id | 设置布局的标识 | |
android:layout_width | 设置布局的宽度 | |
android:layout_height | 设置布局的高度 | |
android:background | 设置布局的背景 | |
android:layout_margin | 设置当前布局与屏幕边界或与周围控件的距离 | |
android:padding | 设置当前布局与该布局中控件的距离 |
一、LinearLayout(线性布局)
1、 特点:
主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能放一个控件。
2、适⽤场景:
Android开发中最常见的 ⼀种布局⽅式,排列方式只有水平排列和垂直排列两种,orientation 设置为 horizontal 为水平排列, 设置为 vertical为垂直排列,默认水平排列。
3、缺点:
在设计复杂页面时要嵌套过多的层级,降低页面加载速度
4、常用属性
(1)android:id
用于设置当前布局的唯一标识。在XML文件中它的属性值是通过“@+id/属性名称”定义的。为布局指定android:id 属性后,在R.java文件中,会自动生成对应的int值。在Java代码中通过为findViewById()方法传入该int值来获取该布局对象。
(2)orientation属性
在线性布局中,控件排列有水平和垂直两个方向,控件排列方向由android:orientation属性来控制,该属性需要加在LinearLayout标记的属性中。
(3)gravity属性
线性布局的控件默认是从左往右排列或从上往下排列,如果想让线性布局中的控件排列对齐右边缘或者底部,可以用gravity属性控制。
(4) layout_weight属性
LinearLayout中另外一个常用的属性是layout_weight,该属性需要加在LinearLayout的子控件中。其作用是分配线性布局中的剩余空间到该控件上。
(5) android:layout_width
用于设置布局的宽度,其值可以是具体的尺寸,如50dp
- fill_parent: 表示该布局的宽度与父容器(从根元素讲是屏幕)的宽度相同。
- match_parent:与fill_parent的作用相同,从Android 2.2开始推荐使用match_parent。
- wrap_content:表示该布局的宽度恰好能包裹他的内容。
(6) android:layout_height
用于设置布局的高度,其值可以是具体的尺寸,如50dp
- fill_parent: 表示该布局的宽度与父容器的高度相同。
- match_parent:与fill_parent的作用相同,从Android 2.2开始推荐使用match_parent。
- wrap_content:表示该布局的高度恰好能包裹他的内容。
(7) android:background
用于设置布局背景,其值可以引用图片资源,也可以是颜色资源
(8) android:layout_margin
用于设置当前布局与屏幕边界、周围布局或控件的距离。属性值为具体的尺寸,如50dp。
与之相似的还有android:layout_marginTop、android:layout_marginBottom、android:layout_marginLeft、android:layout_marginRight属性,分别用于设置当前布局与屏幕、周围布局或者控件的上下左右边界的距离。
(9) android:padding
用于设置当前布局内控件与该布局的距离,其值可以是具体的尺寸,如50dp。与之相似的还有android:paddingTop、android:paddingBottom、android:paddingLeft、android:paddingRight属性,分别用于设置当前布局中控件与该布局上下左右的距离。
需要注意的是,Android系统提供的五种常用布局必须设置android:layout_width和android:layout_height属性指定其宽高,其他的属性可以根据需求进行设置。
二、FrameLayout(框架布局/帧布局)
1、特点:
最纯净的布局。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
2、适⽤场景:
在开发中常做容器使⽤,⽤于动态添加布局对象,⽐如浏览单张图⽚这类的、实现时钟等,秒针覆盖时针和分针。
3、优缺点:
优点:高效,占用内存相对来说也是较小的
缺点:简单
4、常用属性
FrameLayout布局的属性有android:foreground和android:foregroundGravity。android:foreground属性:属性值为图片资源,用于设置前景图片,意思是此图片是位于所有组件之上,不管添加顺序。
android:foregroundGravity属性:用于设置前景图片在布局中的位置,属性值与android:gravity一样。如果不设置此属性,则前景图片不管有多小都默认充满整个布局,如果设置了,就在相应位置以图片实际大小显示。
三、TableLayout(表格布局)
1、 特点:
以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。当为View时,该View将独占一行。
2、 适⽤场景:
适⽤于多⾏多列的表格形式。
父属性设置拉伸和隐藏列
子属性设置在第几列显示 和横跨几列
四、GridLayout(网格布局)
GridLayout布局是Android4.0以后引入的新布局,和TableLayout(表格布局)有点类似,不过它功能更多,也更灵活(TableLayout不能对行进行合并,只能对列进行合并), 可以自定义网格布局有多少行,多少列 可以直接设置组件位于某行某列 可以设置组件横跨几行或者几列。
五、RelativeLayout(相对布局)
1、特点:
以某⼀个⼦元素为参照物,其余⼦元素均按照其相对位置来完成布局。
适⽤场景:其属性很好的弥补了LinearLayout的缺点,该布局是⽬前最推荐的⼀种布局⽅式
2、优缺点:
例如在修改了某⼀个控件的属性时,其他依赖于该控件的其他控件可能都需要修改其属性。
六、AbsoluteLayout(绝对布局)
1、特点:、
采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来确定坐标。
2、应用场景:
准确定位空间位置
3、缺点:
Android手机的屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时。
七、ConstraintLayout (约束布局-目前官方推荐的布局)
主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整控件,利用元素属性很方便的自适应布局,从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。
ConstraintLayout布局中的子控件需要约束关系,控件的相互依赖,这有点像相对布局 ,但是约束布局的功能更加强大,它很方便的在编辑器上进行添加删除控件,并设置属性值,简化操作。
Android 常用布局介绍相关推荐
- android layout布局 有哪些,Android 常用布局 介绍与使用
读前思考 学习一门技术或者看一篇文章最好的方式就是带着问题去学习,这样才能在过程中有茅塞顿开.灯火阑珊的感觉,记忆也会更深刻. 有哪些常用的布局? 每一种布局有何特点与不同? 布局上如何优化? 1. ...
- Android开发:1-3、Android常用布局
Android常用布局 常用6大布局: 常用XML布局属性: 常用6大布局: 常用XML布局属性: 1.线性布局: 1.android:orientation=" " 线性布局中的 ...
- Android UI -- 布局介绍(布局包括FrameLayout, LinearLayout, RelativeLayout, GridLayout)
首先介绍常用布局类 FrameLayout 最简单的布局管理器. 这个布局管理类有几个特性: 添加组件默认在左上角的. 如果添加多个组件会叠加到一起,并且都在左上角.(可以通过一gravity属性改变 ...
- android使用桢布局,Android 常用布局
Android的布局有: LinearLayout线性布局 RelativeLayout 相对布局 FrameLayout单桢布局 TableLayout表格布局 GridLay ...
- Android常用布局之TableLayout(表格布局)
概述: TableLayout(即表格布局) 当TableLayout下面写控件.则控件占据一行的大小.(自适应一行,不留空白) 但是,想要多个组件占据一行,则配合TableRow实现 TableLa ...
- Android常用布局之AbsoluteLayout(绝对布局)
绝对布局:需要指定子元素的 x,y 精确坐标的布局. 缺点: 绝对布局缺乏灵活性,在没有绝对定位的情况下相比其他类型的布局更难维护,不建议使用. 因为绝对布局,我们开发的应用需要在很多的机型上面进行一 ...
- android 常用布局组件,Android六大基本布局
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一.基本理论 Android六大基本布局分别是: 线性布局LinearLayout. 表格布局TableLayout. ...
- Android 常用布局单位区别(dp、sp、px、pt、in、mm)
一.简介 Android 在 UI 布局时经常用到一些单位,对单位混用直接会影响 UI 的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI 显示效果的影响因素:屏幕尺寸.屏幕密度.分辨 ...
- Android常用布局-线性布局和相对布局
1. 线性布局 LinearLayout 线性布局分为水平和垂直两个方向,优点是简单可嵌套,缺点是只能在一个方向进行布局,而且嵌套过多可能存在风险. 1. 标签:<LinearLayout /& ...
- Android 抽象布局介绍和简单的使用
Android 的原生的抽象布局一共有3个 include ViewStub merge ,每一个都很强大,让我们在实际开发中省去不少时间 < include> 标签 一个 ...
最新文章
- 【H.264】x264命令详解:x264 --fullhelp
- 昨天晚上,亲眼目睹了我一哥们的崩溃,被空降90后上司鄙视,说他这种人在公司......
- C 语言编程 — 编程实践
- B端设计指南-表格设计的常见问题
- 使用T-SQL找出执行时间过长的作业
- 插件properties_Mybatis3系列 - 4. mybatis-config的properties属性详解
- vector添加元素java_在Java中的Vector中间添加元素
- L2-027 名人堂与代金券-PAT团体程序设计天梯赛GPLT
- [转载] Flask+Celery+Redis简单操作
- Amoeba 实现Mysql的读写分离
- Nginx 作为静态资源服务器,配置静态资源下载
- 计算机网络实验(二)2交换机的基本配置与管理
- 台式计算机输入设备,简述常用的输入设备和输出设备有哪些 – 手机爱问
- python训练自己中文语料库_中文语料库构建过程详细教程
- 抖音小店无货源,怎么操作可以出单?资深电商人在线分享
- saltstack配置管理和数据系统
- 1020:Anniversary Cake
- latex 的“对号”的几种表示
- 打开Adobe Premiere Pro提示系统错误
- QTabelWidget表格的插入、删除、更新、动态滑动条以及配合QFile进行表格内容的长期存储
热门文章
- win7中怎么显示文件名后缀
- 硬盘安装Win7全攻略(图解)
- 微软Kinect是怎么做到的
- 求一元二次方程的解法c语言,有什么方法求一元二次方程求解決一元二次方程的解法要详细...
- 什么是商业数据分析师?
- AXI总线学习-------从零开始详细学-------------连载(6)读写处理架构,burst介绍,burst细节定义(burst size burst length)
- Bluefish 1.1.3
- eclipse启动报错,显示找不到指定路径的JRE
- Redis-Lua脚本(集成SpringBoot工程)
- JAVA WEB毕业设计