Android布局方式总结
Android的布局分别是:线性布局LinearLayout、相对布局RelativeLayout、帧布局FrameLayout、网格布局GridLayout、约束布局ConstraintLayout、百分比布局PercentLayout、表格布局TableLayout、绝对布局AbsoluteLayout。其中,表格布局是线性布局的子类。在手机程序设计中,绝对布局和框架布局基本上不用,用得相对较多的是线性布局和相对布局。
1.布局管理器类图

2.布局管理器里面既可以添加多个布局管理器又可以添加多个控件,而控件里面不能在添加布局或控件了。

3.各个布局的特点
- 线性布局:开发中使用最多,具有垂直方向与水平方向的布局方式
- 相对布局:最灵活的一种布局方式,可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件或父控件进行上下左右对齐。RelativeLayout能替换一些嵌套视图,当我们用LinearLayout来实现一个简单的布局但又使用了过多的嵌套时,就可以考虑使用RelativeLayout重新布局。相对布局就是一定要加Id才能管理。
- 帧布局:用于比较简单的布局,从屏幕左上角按照层次堆叠方式布局,后面的控件覆盖前面的控件。该布局在开发中设计地图经常用到,因为是按层次方式布局,我们需要实现层面显示的样式时就可以用这种布局方式,比如我们要实现一个类似百度地图的布局,我们移动的标志是在一个图层的上面。在普通功能的软件设计中用得也不多。帧布局主要应用就是地图和引导页。
- 网格布局:可以取代表格布局,作为android 4.0 后新增的一个布局,与前面介绍过的TableLayout(表格布局)其实有点大同小异;不过新增了一些东东 ① 跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式 ② 容器中的组件可以跨多行也可以跨多列(相比TableLayout直接放组件,占一行相比较)因为是android 4.0新增的,API Level 14,在这个版本以前的sdk都需要导入项目。
- 约束布局:相对布局升级版,解决复杂界面绘制效率低的问题,功能强大但有些麻烦。允许你在不适用任何嵌套的情况下创建大型而又复杂的布局。它与RelativeLayout非常相似,所有的view都依赖于兄弟控件和父控件的相对关系。但是,它更加灵活,目前在AndroidStudio中使用也十分方便,就和以前的拖拉控件十分相似。
- 百分比布局:属于新增布局, 是FrameLayout和RelativeLayout两种布局的扩展,允许直接指定控件在布局中所占的百分比。
- 表格布局:表格布局,适用于多行多列的布局格式,每个TableLayout是由多个TableRow组成,一个TableRow就表示TableLayout中的每一行,这一行可以由多个子元素组成。实际上TableLayout和TableRow都是LineLayout线性布局的子类。但是TableRow的参数android:orientation属性值固定为horizontal,且android:layout_width=MATCH_PARENT,android:layout_height=WRAP_CONTENT。所以TableRow实际是一个横向的线性布局,且所以子元素宽度和高度一致。注意:在TableLayout中,单元格可以为空,但是不能跨列,意思是只能不能有相邻的单元格为空。
- 绝对布局:将所有的子元素通过设置android:layout_x 和 android:layout_y属性,将子元素的坐标位置固定下来,即坐标(android:layout_x, android:layout_y) ,layout_x用来表示横坐标,layout_y用来表示纵坐标。屏幕左上角为坐标(0,0),横向往右为正方,纵向往下为正方。实际应用中,这种布局用的比较少,因为Android终端一般机型比较多,各自的屏幕大小。分辨率等可能都不一样,如果用绝对布局,可能导致在有的终端上显示不全等。
- 嵌套布局:实现复杂界面,多种布局组合
Android布局方式总结的更多相关文章
- 五大Android布局方式浅析
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...
- Android 布局方式学习
一.LinearLayout线性布局: 线性布局是程序中最常见的一种布局方式,线性布局可以分为水平线性布局和垂直线性布局两种, 通过android:orientation属性可以设置线性布局的方向 1 ...
- Android布局方式_RelativeLayout
RelativeLayout(相对布局)允许子元素指定它们相对于其他元素或父元素的位置(通过ID指定),因此用户可以右对齐,或上下对齐,或置于屏幕中央的形式来排列两个元素. RelativeLayou ...
- Android布局方式
1. LinearLayout(线性布局) android:orientation="vertical" android:layout_width="wra ...
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- Android入门(十):界面的布局方式及其实际应用
关于Android界面布局,网上已经有了很多非常不错的学习资料,在这里我也不班门弄斧了,推荐两篇我认为写的不错的教程,然后再重点讲一下几种布局方式的实际应用. 教程链接:①http://www.cnb ...
- 【Android UI】Android开发之View的几种布局方式及实践
引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...
- Android 开发之旅:view的几种布局方式及实践
本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.View布局概述 2.线性布局(Linear Layout) 2.1.Tips:android:layout_weigh ...
- Android 开发:view的几种布局方式及实践
View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线性布局(Linear Layout).相对布局(Relative Layout).表格布局(Tab ...
随机推荐
- Google I/O 2021 Android精华内容
Google I/O 2021结束了, 都有什么精彩内容呢? Android部分的Playlist附上: Android & Play at Google I/O 2021 Developer ...
- Navigation DialogFragment展示dialog
如果按照一般fragment的写法: 在nav_config中 <fragment android:id="@+id/fragment_crime_detail" andro ...
- EVE-NG 入门教程 (Mac OSX BIg Sur)
EVE-NG 入门搭建指南 1. 什么是 EVE-NG EVE-NG (Emulate d Virtual Environment) 是一个可以运行虚拟主机.网络设备的模拟器,目前该软件分为了社区版. ...
- AutomicBoolean
AutomicBoolean 介绍 java并发包下提供的原子变量,是原子类其中之一.基本特性是在多线程环境下,多个线程同时执行这些类的实例包含的方法时,具有排他性 当某个线程进入方法,不会被其他线程 ...
- TVM自定义数据类型
TVM自定义数据类型 本文将介绍"自定义数据类型"框架,该框架可在TVM中使用自定义数据类型. 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数.这个问题具有长期的行业标准解 ...
- 摄像头ISP系统原理(上)
摄像头ISP系统原理(上) ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号.它在相机系统中占有核心主导的地位,是构成相机的重要设备. 主 ...
- 【VBA】excel自动换名字打印
源码: Sub m() For i = 1 To 100 ActiveSheet.PrintOut copies:=1 Cells(1, 1) = Sheets(2).Cells(i, 1) Next ...
- 一次SQL查询优化原理分析(900W+数据,从17s到300ms)
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: ...
- 【二分 贪心】覆盖问题 BZOJ1052 HAOI2007
覆盖问题 bzoj1052 题目来源:HAOI 2007 题目描述 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的 ...
- BLO
BLO 内存限制:162 MiB 时间限制:1000 ms 标准输入输出 题目描述 Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ...