昨天笔记本主板坏了,各种烦心事搞得一团糟,博客也没有接着更!不过不幸中的万幸是:在笔记本主板坏之前,将前一周的笔记上传上来了!周六要交项目,小白的我,还在一点一点看基础,亚历山大啊!
五大布局需要注意的知识点:
线性布局:
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列!
LinearLayout本身常用到的属性:
android:orientation=”vertical”
—-该属性决定它子类控件的排布方式(vertical垂直;horizontal:水平)
android:gravity=”center”
—-该属性决定他子类的xy的位置。
常用到的几个属性值:
1>center_vertical:垂直(Y轴)居中
2>center_horizontal:水平(X轴)居中
3>center:水平垂直都居中
4>right:子类控件位于当前布局的右边
5>left:子类控件位于当前布局的左边
6>bottom:子类控件位于当前布局的下面
layout_weight
使用的时候,注意layout_height的值。
当layout_height为match_parent
是当前layout_weight的反比
当layout_height为wrap_content
是当前layout_weight的正比
layout_gravity调整该布局相对父布局的位置
gravity是调整该布局中子布局的位置。
一个orientation为horizontal的LinearLayout中有一个textView,则设置TextView的 layout_gravity属性为right 不起作用 !
因为水平的LinearLayout要从左边开始依次放置布局,所以TextView的layout_gravity属性为right不起作用!
layout_alignBottom=”@+id/id1”
layout_alignBaseline=”@+id/id1”
layout_toRightOf=”@+id/id1”
相对布局里面的子布局有gravity属性。
@+id是在R.java中添加id,@id表示引用现有id。
toLeftOf是在左边,toRightOf是在右边
帧布局(FrameLayout )在这个布局中,所有的子元素都不能被指定位置的位置,他们统统放在这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分或全部遮挡!
framelayout 没有gravity属性。
framelayout 如何设置前景图:使用android:foreground
absolutelayout 绝对布局:也叫坐标布局,可以直接指定子元素的绝对位置(xy)
有缺陷,不推荐使用。
由于手机屏幕尺寸差别很大,在屏幕适配上有缺陷。
absolutelayout子类控件属性:
android:layout_x
android:layout_y
TableLayout 表格布局
表格布局模型以行列的形式 管理子控件,每一行为一个tableRow的对象,当然也可以是一个其他View的对象。
tableLayout 的属性(全局属性)
android:collapseColumns=”1,2”
隐藏二三列的索引列。因为下标是从第0列开始的。必须用逗号分隔开:1,2,5
android:shrinkColumns=”1,2”
收缩二三列的索引列。因为下标是从第0列开始的。当可收缩的列太宽(内容太多)不会被挤出屏幕,列必须用逗号隔开,可以通过* 来表示收缩所有列。
一列能同时表示收缩和拉伸。
android:stretchColumns=”1,2”
拉伸二三列的索引列。因为下标是从第0列开始的。从0开始的索引列。以填满剩下的多余空白空间,列必须用逗号隔开。可以通过*来表示拉伸所有列。
0 即是第一列。
tablelayout的局部属性:内部空间所用的属性
android:layout_column=”1” 该控件显示在第2列
android:layout_span=”2” 该控件占据2列
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/ice_alone/article/details/47619811