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

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

线性布局常用的属性:

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

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

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

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

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

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


线性布局垂直方向示例:



布局代码:

        

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


线性布局水平方向示例:



布局代码:
        

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


RelativeLayout相对布局

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

相对布局常见属性:




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




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

代码如下:

<?xml version="1.0" encoding="utf-8"?>                                                                                                                                                                            

思路很简单,首先最大的布局使用线性布局(看也看得出来)。每一行的内容都是一个相对布局模块。第一个模块的内容是由一个图片和一个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"),就完成了整个布局


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


更多相关文章

  1. 解决ListView,GridView,Gallery的Adapter中的getView多次调...
  2. Android布局管理器浅析
  3. android获取控件宽和高
  4. Android(安卓)Fragment的使用
  5. Android笔记---常用控件以及用法
  6. Android(安卓)Material Design 系列之 Toolbar 使用详解
  7. Android用户界面开发(11):Menu
  8. Android(安卓)UI 限定字数 单独一行
  9. Android(安卓)ListView那些事

随机推荐

  1. Android(安卓)TCP socket通信
  2. 安卓广播监听USB插拔
  3. GridView属性集合 drawSelectorOnTop
  4. Android(安卓)之ActivityThead、Activity
  5. Android setContentView方法解析(一)
  6. android 三级联动开源框架用法
  7. Android中使用PULL方式解析XML文件深入介
  8. Android学习笔记(29):搜索框SearchView
  9. Android(安卓)Rxjava+Retrofit网络请求框
  10. Android Lint gradle错误处理