1、LinearLayout(线性布局):将布局所包含的控件在线性方向上依次排列。
<1>android:orientation 指定了排列方向(垂直方向(vertical)、水平方向(horizontal))
<2>android:layout_gravity 用于指定控件在布局中的对齐方式(站在子控件的角度)
a.当LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效;
b.当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。
<3>android:weight 允许通过比例的方式来指定控件的大小,在手机屏幕的适配性方面可以起到非常重要的作用
<4>xmlns:android..... 命名控件(和java文件中的import语句功能类似)
<5>android:layout_width 定义当前的布局或者控件的宽度
<6>android:layout_height 定义当前的布局或者控件的高度(宽高值是必须的属性)
<7>android:padding 内边距。当前控件或者布局的内边缘距离里面子控件或者内容的距离,距离值得单位是dp
<8>android:gravity 让当前布局或者控件的内容或者子布局排列的方式(站在父控件的角度)
2、RelativeLayout(相对布局):通过相对定位的方式让控件出现在布局的任何位置。
<1>android:layout_above 表示让一个控件位于另一个控件的上方需要指定相对控件的id的引用
<2>android:layout_below 表示让一个控件位于另一个控件的下方
<3>android:layout_toRightOf 表示让一个控件位于另一个控件的右侧
<4>android:layout_toLeftOf 表示让一个控件位于另一个控件的左侧
<5>当一个控件去引用另一个控件的id时,该控件一定要定义在引用控件的后面,不然会出现找不到id的情况
<6>android:layout_alignLeft 表示让一个控件的左边缘和另一个控件的左边缘对齐
<7>android:layout_alignRight 表示让一个控件的右边缘和另一个控件的右边缘对齐
<8>android:layout_alignTop 表示让一个控件的上边缘和另一个控件的上边缘对齐
<9>android:layout_alignBottom 表示让一个控件的下边缘和另一个控件的下边缘对齐
<10>android:layout_alignBaseline表示和xx基准线对齐(文本对齐)
<11>android:layout_margin 外边距。当前控件或者布局的外边缘距离最近的控件或者布局的距离
a.内边距:主要把控件里边的间距拉大
b.外边距:主要是把控件与控件之间的距离拉大
<12>android:layout_alignParentRight="true" 表示让一个控件与父布局右对齐
<13>android:layout_alignParentBottom="true" 表示让一个控件与父布局下对齐
<14>android:layout_alignParentLeft="true" 表示让一个控件与父布局左对齐
<15>android:layout_alignParentTop="true" 表示让一个控件与父布局上对齐
<16>android:layout_centerHorizontal="true" 表示让一个控件在父布局中水平方向上居中
<17>android:layout_centerVertical="true" 表示让一个控件在父布局中垂直方向上居中
<18>android:layout_centerInParent="true 表示让一个控件在父布局的中心
3、FrameLayout(帧布局):直接继承了ViewLayout组件
帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),每个子组件占据一帧,这些帧会根据gravity属性执行自动对齐
<1>android:foreground 设置该帧布局容器的前景图像
<2>android:forefroundGravity 定义绘制前景图像的gravity属性
4、TableLayout(表格布局):继承了LinearLayout
在表格布局管理器中,有以下三种行为方式:
<1>Shrinkable:如果某个列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度;
<2>Strechable:如果某个列被设为Strechable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间;
<3>Collapsed:如果某个列被设为Collapsed,那么该列的所有单元格会被隐藏。
TableLayout继承了LinearLayout,因此它支持LinearLayout所支持的全部XML属性,除此以外,还支持以下属性:
<1>android:collapseColumns setColumnCollapsed(int,boolean) 设置需要被隐藏的列的列序号(从0开始)
<2>android:shrinkColumns setShrinkAllColumns(boolean) 设置允许被收缩的列的列序号(从0开始)
<3>android:stretchColumns setStrechAllColumns(boolean) 设置允许被拉伸的列的列序号(从0开始)
<4>每加入一个TableRow就表示在表格中添加了一行,然后在TableRow中每加入一个控件,就表示在该行中加入了一列(TableRow中的控件不可以指定宽度)
5、GridLayout(网格布局)
<1>android:alignmentMode 设置该布局管理器采用的对齐模式
<2>android:columnCount 设置该网格的列数量
<3>android:columnOrderPreserved 设置该网格容器是否保留列序号
<4>android:rowCount 设置该网格的行数量
<5>android:rowOrderPreserved 设置该网格容器是否保留航序号
<6>android:useDefaultMargins 设置该布局管理器是否使用默认的页边距
<7>android:layout_column 设置该子组件在GridLayout的第几列
<8>android:layout_columnSpan 设置该子组件在GridLayout横向上跨几列
<9>android:layout_gravity 设置该子组件采用何种方式占据该网格的空间
<10>android:layout_row 设置该子组件在GridLayout的第几行
<11>android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行
6、AbsoluteLayout(绝对布局):已经过时,官方已经不推荐使用
<1>layout_x 指定该子组件的X坐标
<2>layout_y 指定该子组件的Y坐标
- jquery实现常用UI布局
tab html <div class="tab"> <ul class="tab-title"> <li class=" ...
- 常用前端布局,CSS技巧介绍
常用前端布局,CSS技巧介绍 对前端常用布局的整理总结,并对其性能优劣,兼容等情况进行介绍 css常用技巧之可变大小正方形的绘制 1:若通过设置width为百分比的方式,则高度不能通过百分比来控制. ...
- Android开发 UI布局
Android开发 UI布局一.线性布局LinearLayout 什么是线性布局? 其实呢,线性布局就是把所有的孩子摆在同一条线上 <?xml version="1.0" e ...
- Duilib源码分析(五)UI布局—Layout与各子控件
接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout.HorizontalLayout.TileLayout.TabLayout.ChildLayout分 ...
- iOS-屏幕适配-UI布局
iOS 屏幕适配:autoResizing autoLayout和sizeClass 一.图片解说 -------------------------------------------------- ...
- AppleWatch___学习笔记(二)UI布局和UI控件
1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...
- DIV+CSS常用网页布局技巧!
以下是我整理的DIV+CSS常用网页布局技巧,仅供学习与参考! 第一种布局:左边固定宽度,右边自适应宽度 HTML Markup <div id="left">Left ...
- iOS开发~UI布局(三)深入理解autolayout
一.概要 通过对iOS8界面布局的学习和总结,发现autolayout才是主角,autolayout是iOS6引入的新特性,当时还粗浅的学习了下,可是没有真正应用到项目中.随着iOS设备尺寸逐渐碎片化 ...
- iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解
一.概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的: 1.Xcode6中增加了size class,在storyboard中如何使用? 2.a ...
随机推荐
- 如何通过热修复,搞定开发中的那些 Bug?
作为程序员,Bug 修复终究是绕不开的话题,本期移动开发精英俱乐部讨论的主题便是 Bug 修复中的 Hotfix,即热修复.接下来让我们跟随大牛的脚步来了解 Hotfix,就算你不能一下豁然开朗,相信 ...
- URAL 1297 Palindrome 最长回文子串
POJ上的,ZOJ上的OJ的最长回文子串数据量太大,用后缀数组的方法非常吃力,所以只能挑个数据量小点的试下,真要做可能还是得用manacher.贴一下代码 两个小错,一个是没弄懂string类的sub ...
- [转]剖析ASP.Net MVC Application
http://www.cnblogs.com/errorif/archive/2009/02/13/1389927.html 为了完全了解Asp.net MVC是怎样工作的,我将从零开始创建一个MVC ...
- C# 面向对象之概念理解
什么是对象? <韦氏大词典>中对对象定义: (1)某种可为人所感知的物质. (2)思维.感受或动作所作用的物质或精神体. ----说白了万物皆对象 熟悉的对象描述: 对象就是客观世界中的物 ...
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- Android 程序运行之后,禁止休眠
在程序中添加 // 禁止休眠功能 getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager. ...
- Linux 学习guideline
记得在中国人气和高手最多的linuxform上看到的一句话. 现在自己的书架上以后lkd2+ldd3+情景分析,再加上它ulk3,书架的linux kernel的四库全书已经凑齐,很充实. lkd2: ...
- Windows下Subversion和Apache的安装及配置(一)
1.序 Subversion可谓版本控制软件中的佼佼者,其开源性,易用性已受到众多软件开发者首选的版本控制软件.在这里我想记录我安装Subversion和Apache的过程.注意,Subversion ...
- C语言复习笔记-17种小算法-解决实际问题
判断日期为一年中的第几天(考虑闰年) 1 /* 2 * 计算该日在本年中是第几天,注意闰年问题 3 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 4 * 特殊情况,闰年且 ...
- C# 常用对象的的修饰符
class(类) 1.internal 表示类只能在当然程序集中访问,类默认修饰符 2.public 表示所有地方都可以访问,与internal是互斥的 3.abstract 抽象类,不能被实例化,只 ...