安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)

线性布局是安卓程序中最常见的一种布局方式,线性布局可以分为水平线性布局和垂直线性布局两种,通过android:orientation属性可以设置线性布局的方向。

线性布局在生活中还是很常见的,比如手机上的计算器,横竖分明,非常好辨别和使用。

线性布局常用的属性:

android:gravity:控件自身上面的内容位置

android:layout_gravity:控件本身相对于父控件的显示位置

注意:在父容器设置为竖直方向时,layout_gravity只能控制水平位置;而当父容器设置为垂直方向时,layout_gravity只能控制竖直位置。

android:layout_weight:给控件分配剩余空间,分配权重

注意:layout_weight在设置前必须设置元素的高/宽为0dp,这样分配的空间才标准。因为权重最基本的用法就是  对线性布局指定方向(水平或垂直)上剩余空间分配的一个规则,先把规定的大小占完,再来按比例分配剩余空间

android:orientation:设置线性布局的排版方向,有vertical (垂直方向) 、horizontal(水平方向)两种布局方式


线性布局垂直方向示例:

安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)_第1张图片

布局代码:


        

首先设置布局为android:orientation="vertical",然后放上3个满宽度的Button,全部设置高度为0,然后分配android:layout_weight,然后一个标准的线性垂直排版就出现了。并且给最上边和最下边的按钮设置了android:gravity属性。让其文字显示位置改变。


线性布局水平方向示例:

安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)_第2张图片

布局代码:

        

注:(大布局上使用了垂直布局,为的方便观察水平布局)
首先设置两个Linearlayout为 android:orientation="horizontal",然后放入2个Button,设置其宽度为0dp,方便分配权重观察。


RelativeLayout相对布局

相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,属性之间冲突的的可能性也大,所以使用相对布局时要多做些测试

相对布局常见属性:

安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)_第3张图片


相对于线性布局,相对布局并没有太多需要叙述的。当相对布局的属性你都能够熟练运用,这个布局就差不多弄明白了,这里在下就简单的举一个例子


安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)_第4张图片


这张图上的布局,是使用线性布局和相对布局混合搭配完成的,也是在下的课下练习

代码如下:



    
    

        
        

    

    
        
        

    

    
        
        

    

    
        
        

    
    
        
        

    
    
        
        

    
    
        
        

    

思路很简单,首先最大的布局使用线性布局(看也看得出来)。每一行的内容都是一个相对布局模块。第一个模块的内容是由一个图片和一个TextView组成,首先设置图片和TextView在父控件水平居中(android:layout_centerHorizontal="true"),再设置TextView在兄弟控件图片的下边(android:layout_below="@+id/touxiang")。就完成了,其余的内容,每一个RelativeLayout都在上一个RelativeLayout的下边,里面的图片和TextView都是设置了父控件垂直居中(android:layout_centerVertical="true"),在设置TextView在兄弟控件图片的右边(android:layout_toRightOf="@+id/img"),就完成了整个布局


以上便是线性布局和相对布局的一些简单的介绍和示例。


你可能感兴趣的:(安卓)