Android五大布局介绍&属性设置大全
前言
在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置。
目录
一、布局介绍
在Android中,共有五种布局方式,分别是:
- FrameLayout(框架布局)
- LinearLayout(线性布局)
- AbsoluteLayout(绝对布局)
- RelativeLayout(相对布局)
- TableLayout(表格布局)
1. FrameLayout框架布局
- 布局特点:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素
- 应用场景:适合浏览单张图片。
2. LinearLayout线性布局
- 布局特点:放主要提供控件水平或者垂直排列的模型,每个子组件
都是以垂直或水平的方式来线性排布.(默认是垂直) - 应用场景:最常用的布局方式
linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
3. AbsoluteLayout绝对定位布局
- 布局特点:采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来确定坐标。
- 应用场景:准确定位空间位置
由于Android手机的屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时
4. RelativeLayout相对布局
- 布局特点:为某一个组件为参照物,来定位下一个组件的位置的布局方式。
- 应用场景:控件之间存在相应关系(适配神器,推荐使用)
5. TableLayout表格布局
- 布局特点:类似Html里的Table.使用TableRow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
- 应用场景:控件之间存在相应关系。
这五个布局元素可以相互嵌套应用,做出美观的界面。
二、布局属性配置
Android布局里XML的属性配置
1. 五种Layout中Item的基础属性:
- layout_width & layout_height
- layout_margin+方位 & padding+方位
- layout_gravity & gravity
Android五种布局都具备上述几个基础属性
1. layout_width & layout_height
- 作用:设置Layout中组件的宽度和高度
- 取值:
a. 固定的像素值android:layout_width="66px"b. "wrap_content"
相应视图的宽和高就会被设定成所需的最小尺寸以适应视图中的内容android:layout_width="wrap_content"c. “match_parent"(在Android API 8之前叫作"fill_parent")
视图的宽和高延伸至充满整个父布局android:layout_width="match_parent"
2. layout_margin+方位/padding+方位
- 作用:设置放入Layout中的View与Layout的边界或者其他View之间能够相距一段距离
作者:Carson_Ho
链接:http://www.jianshu.com/p/4fac6304d872
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Android五大布局介绍&属性设置大全的更多相关文章
- Android五大布局详解——LinearLayout(线性布局)
Android五大布局 本篇开始介绍Android的五大布局的知识,一个丰富的界面显示总是要有众多的控件来组成的,那么怎样才能让这些控件能够按你的想法进行摆放,从而自定义你所想要的用户界面呢?这就牵涉 ...
- 浅谈Android五大布局
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...
- [转]浅谈Android五大布局(二)——RelativeLayout和TableLayout
在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati ...
- Activity 属性设置大全
activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务 ...
- Android 五大布局(LinearLayout、FrameLayout、AbsoulteLayout、RelativeLayout、TableLayout )
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- [转]浅谈Android五大布局(一)——LinearLayout、FrameLayout和AbsoulteLayout
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...
- activity属性设置大全
activity属性设置大全 android:allowTaskReparenting=["true" | "false"] 是否允许activ ...
- Android 五大布局
Android 五大布局: FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),Table ...
- 【Android自学日记】五大布局常用属性
线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...
随机推荐
- 打开与关闭Linux防火墙
1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables sta ...
- Unity3D & C# 设计模式--23
Unity3D & C#Design Patterns 23 design patterns. Creational Patterns 1. Abstract Factory抽象工厂 创 ...
- USRP内部的寄存器
usrp_regs.hpp #ifndef INCLUDED_USRP2_REGS_HPP #define INCLUDED_USRP2_REGS_HPP ////////////////////// ...
- Java中的字节输入出流和字符输入输出流
Java中的字节输入出流和字符输入输出流 以下哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D In ...
- Windows10、ARM开发板、VMware虚拟机同时连接Internet
前段时间有人遇到一些网络连接问题,让我帮忙处理,他想让ARM开发板连接外网,可以连接网络数据库,同时保证自己的电脑可以上网. 本来说直接可以连接一个路由器,分配一个内网IP给ARM就可以了,但是当时那 ...
- 编译android的一些坑
1 降级gcc g++到4.4 2 参考:http://source.android.com/source/initializing.html来配置环境 3 使用jdk1.6 包括 java java ...
- mysql中decimal的使用
float,double,decimal区别 创建表test_float_double_decimal CREATE TABLE `test_float_double_decimal` ( `id` ...
- 10.07 WZZX Day2总结
今天仍然是KCZ出题.今天才知道KCZ不仅是WZ地区史上最强选手而且还是ZJ队长?在ZJOI拿到Rank1的男人?%%%%% 今天KCZ出题的依然很强势…… T1.wzoi 期望得分20-100 实际 ...
- xUnit随笔
XUnit入门 1.如果之前安装了xUnit.net Visual Studio Runner扩展包,通过"工具"菜单下的"扩展和更新"先将该扩展包卸载. 2. ...
- js 上传头像
css .con4{width: 230px;height: auto;overflow: hidden;margin: 20px auto;color: #FFFFFF;} .con4 .btn{w ...