Android之四大布局

    学之广在于不倦,不倦在于固志。 ——晋·葛洪­

   (学问的渊博在于学习时不知道厌倦,而学习不知厌倦在于有坚定的目标)


    001.Android四大布局:

           00a、LinearLayout:

                线性布局,这个布局会将它所包含的控件在线性方向上依次排列

                线性布局默认是android:orientation="horizontal"水平方向

                注意:

                    aa:android:gravity 和android:layout_gravity两者的可选值差不多,但是区别在于前者用于指定内容(文字、图片等)在控件中的对齐方式,而后者用于指定控件布局中的对齐方式

                    bb:当LinearLayout的排列方式是horizontal的时候,只有垂直方向上的对齐方式才有效,因为此时的水平方向上的长度是不固定的,会因为添加一个控件而发生改变,因为无法指定该方向上的对齐方式。当排列当时为vertical同理,只有在水平方向的对齐方式有效

                    cc:android:layout_weight属性是用来以比例的方式指定控件的大小


           00b、RelativeLayout:

                相对布局,更加随意一些,它可以通过相对定位的方式让控件出现在布局的任何位置

                简要属性:

                    aa:

                      android:layout_alignParentLeft、android:layout_alignParentTop等等表示相对于父布局进行定位的

                    bb:

                     android:layout_above、 android:layout_below表示一个控件位于另一个控件的上方、下方

                     android:layout_toLeftOf、android:layout_toLeftOf等等表示让一个控件位于另一个控件的左侧、右侧

                     android:layout_alignLeft、android:layout_alignRight等等表示让一个控件的左(右)边缘和另一个控件的左(右)边缘对齐


           00c、FrameLayout:

                帧布局,所有的控件都是按照层次默认摆放在左上角,后加进来的控件覆盖前面的控件

                两个属性:

                   android:foreground:设置该帧布局容器的前景图像

                    android:foregroundGravity:设置前景图像显示的位置


                注意:

                    帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个控件

                    我们也可以通过layout_gravity属性,将控件指定到其他的位置

                    可以利用它的特性来设计布局

                        aa:轮播图的图片和它的轮播指示器

                        bb:加载地图和一些地图上面的控件

                        ......

                   

           00d、TableLayout:

                表格布局,允许我们使用表格的方式来排列控件,有行和列两个明显属性

                属性:

                   android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开

                    android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开

                    android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。

                    android:layout_colum:设置该控件在TableRow中指定的列

                    android:layout_span:设置该控件所跨越的列数         


                注意:

                    TableLayout中加入一个TableRow,就表示在表格中添加了一行,然后再TableRow中每加入一个控件,就表示在该行中加入一列,TableRow中的控件不能指定宽度。

                    TableRow中 android:layout_span="2"表示占据两列的空间,可以用于调整宽度

                    TableRow中 android:stretchColumns属性可以用于屏幕填充,假如有2列,当指定值为1,表示表格不能完全占满屏幕宽度,就将第2列进行拉伸;当指定为0,就是拉伸第一列


              Last:欢迎探讨学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值