文档章节

Android第三十六天

黄晓磊
 黄晓磊
发布于 2016/07/18 21:20
字数 1423
阅读 24
收藏 2

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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坐标

© 著作权归作者所有

黄晓磊
粉丝 20
博文 51
码字总数 45039
作品 0
成都
私信 提问
Android 手机客户端1.3亿 应用下载60亿

Google第二季度财政收入显示其投入了大量的精力到Google Android,并且这个产品已经被谷歌CEO拉里·佩奇认定为成功的产品之一。 那么到底Google Android有多么成功呢?我们看看目前的数据吧!...

gbin1
2011/07/21
511
1
Android第二十六天

一:反射机制 通过对象获取它所属的类。反射机制的源头是Class类。 Class类 Class类的实例表示正在运行的Java应用程序中的类和接口。 二:获取Class类的实例的三种方法: 1. Class.forName("...

黄晓磊
2016/07/04
13
0
AndroidBookworm,android Reading ecstasy(安卓书虫,安卓...

AndroidBookworm,android Reading ecstasy(安卓书虫,安卓读书人狂喜) AndroidBookworm 是一款基于C#,给合安卓技术的软件,致力于将电脑平台上的电子书移动(用户自己制作自己的android电子书...

AndroidBookworm
2011/12/25
118
0
工信部将通过产业政策推动Android平台发展

工信部政策法规司副司长郭福华在今天召开的首届海峡两岸Android技术及产业合作发展会上表示,工信部将通过制定科学的产业政策,技术政策和业务政 策,加强对Android的政策引导和规范,努力为...

红薯
2010/01/17
452
3
HTC Hero可升级至 Android 2.0

Google昨日正式发布了Android 2.0 Eclair,这是Android智能手机操作系统的一次重要发布,随后摩托罗拉发布了首款Android 2.0智能手机Droid,现在第二款Android 2.0手机也有了消息,不过不是新...

红薯
2009/10/29
772
3

没有更多内容

加载失败,请刷新页面

加载更多

在C语言中“静态”是什么意思?

我已经在C代码的不同地方看到了static一词。 这就像C#中的静态函数/类(实现在对象之间共享)吗? #1楼 多文件变量作用域示例 在这里,我说明了静态如何影响多个文件中函数定义的范围。 交流...

javail
8分钟前
3
0
利用 FC + OSS 快速搭建 Serverless 实时按需图像处理服务

作者:泽尘 简介 随着具有不同屏幕尺寸和分辨率设备的爆炸式增长,开发人员经常需要提供各种尺寸的图像,从而确保良好的用户体验。目前比较常见的做法是预先为一份图像存放多份具有不同尺寸的...

阿里巴巴云原生
10分钟前
2
0
前端架构最佳实践

Folders-by-Feature Structure 胜过 Folders-by-Type Structure

lilugirl
21分钟前
3
0
Seata AT 模式启动源码分析

从上一篇文章「分布式事务中间件Seata的设计原理」讲了下 Seata AT 模式的一些设计原理,从中也知道了 AT 模式的三个角色(RM、TM、TC),接下来我会更新 Seata 源码分析系列文章。今天就来分...

后端进阶
22分钟前
4
0
Python中“自我”一词的目的是什么?

Python中self词的目的是什么? 我知道它是指从该类创建的特定对象,但是我看不到为什么要将它显式地作为参数添加到每个函数中。 为了说明这一点,在Ruby中,我可以这样做: class myClass ...

技术盛宴
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部