1. FrameLayout(框架布局)

这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西

类似网页中的div层

2. LinearLayout (线性布局)

线性布局,他是一个一个从上往下罗列在屏幕上

每一个LinearLayout里面又可分为垂直布局(android:orientation=”vertical”)和水平布局(android:orientation=”horizontal” )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列

android:layout_width表示控件的宽度,android_layout_height表示控件的高度,其属性值有wrap_content、fill_parent、match_parent三种。其中,wrap_content表示填满父控件的空白,fill_parent表示大小刚好足够显示当前控件里的内容,match_parent与fill_parent作用是相同的

linearLayout中有一个重要的属性 android:layout_weight=”1”,这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center" //按钮中text的位置
android:background="#00aa00"
android:text="Button" />

3. AbsoluteLayout(绝对布局)

绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x=”20px”

android:layout_y=”12px” 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦

4. RelativeLayout(相对布局)

相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:

相对于某一个元素

android:layout_below=”@id/aaa” 该元素在 id为aaa的下面

android:layout_toLeftOf=”@id/bbb” 该元素的左边是bbb

相对于父元素的地方

android:layout_alignParentLeft=”true” 在父元素左对齐

android:layout_alignParentRight=”true” 在父元素右对齐

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_num"
android:id="@+id/textView1" /> //需要添加一个id,以被引用 <EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textView1" /> //相对id的布局

5. TableLayout(表格布局)

表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity=”“

6. LinearLayout和TableLayout常用指令

android:id——控件指定相应ID

android:text——控件中显示文字。注意尽量使用Strings.xml

android:gravity——控件中文字基本位置,如center、left、right、center_horizontal等

android:textsize——控件中字体大小,单位为pt

android:background——控件背景色

android:width——控件宽度

android:height——控件高度

android:padding——空间内边距,指控件当中内容到空间的距离。其中有android:padding_left、android:padding_right等

android:siglelise——如果设置为真,控件内容将在同一行显示

android:margin——外边距

7. Relative Layout常用指令

  1. 属性值为true或false

    android:layout_centerHrizontal 是否至于水平方向中央

    android:layout_centerVertical 是否至于垂直方向中央

    android:layout_centerInparent 至于父控件水平/垂直方向中央

    android:layout_alignParentBottom 是否与父控件下边对齐

    android:layout_alignParentLeft 是否与父控件的左边对齐

    android:layout_alignParentRight 是否与父控件的右边对齐

    android:layout_alignParentTop 是否与父控件的上边对齐

    android:layout_alignWithParentIfMissing

  2. 属性值必须为id的引用名“@id/id-name”

    android:layout_below 在某某上面

    android:layout_above 在某某下面

    android:layout_toLeftOf 将控件左边缘至于给定控件的右边

    android:layout_toRightOf 将控件右边缘至于给定控件的左边

    android:layout_alignTop 将控件的顶部与给定控件顶部对奇

  3. 属性值为具体的像素值,如30dip,40px

    android:layout_marginBottom 与下边的距离

    android:layout_marginLeft 与左边的距离

    android:layout_marginRight 与右边的距离

    android:layout_marginTop 与上边的距离

8. android 尺寸

  1. px (pixels)像素
  2. dip或dp (device independent pixels)设备独立像素

    和设备硬件有关
  3. sp (scaled pixels — best for text size)比例像素

    主要处理字体的大小,可以根据系统的字体自适应

Android常用五种布局的更多相关文章

  1. 【转】Android UI 五种布局

    在一个Android应用中,Layout是开发中的一个很重要环节,Layout是组成UI不可缺少的一部分. ## Android UI 核心类 在Android应用构建UI的方法有以下几种: 单纯使用 ...

  2. android五种布局模式

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对 ...

  3. 页面的五种布局以及嵌套『Android系列八』

    转自:http://blog.csdn.net/dazlly/article/details/7860125 因为学习比较晚,我用的相关版本为SDK4.1.eclipse4.2,而自己看的教材都是低版 ...

  4. 【Android 复习】:Android五种布局的使用方法

    ---恢复内容开始--- 在Android布局中,有五种常用的布局,下面我们就来学习一下这几种布局的使用方式 1) 线性布局:LinearLayout 2) 帧布局:  FrameLayout 3)  ...

  5. Android特效 五种Toast详解

    Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.而且Toast主要用于向用户显示提示消 ...

  6. Android中五种常用的menu

    Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...

  7. Android UI开发第二十九篇——Android中五种常用的menu(菜单)

    Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...

  8. php 常用五种模式

    /* 设计模式之单例模式 $_instance 必须声明为静态的私有变量 构造函数必须声明为私有,防止外部程序 new 类从而失去单例模式的意义 getInstance() 方法必须设置为公有的,必须 ...

  9. Android特效 五种Toast具体解释

    Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,并且Toast显示的时间有限,过一定的时间就会自己主动消失. 1.默认效果: 代码: Toas ...

随机推荐

  1. ESA2GJK1DH1K基础篇: Android实现SmartConfig简单Demo

    下载源码去 百度安信可 导入源码 等待加载完 我的提示更新下软件 ,我就更新下 安装完成以后重新导入工程 安装到手机 注意,由于Android 9.0 以后的获取WIFI名称需要打开GPS,所以如果提 ...

  2. day 16

    Weep no more, no sigh, nor groan. Sorrow calls no time that's gone. 别哭泣,别叹息,别呻吟:悲伤唤不回流逝的时光.

  3. C语言博客作业4——数组

    0.展示PTA总分 一维数组 二维数组 字符数组 1.本章学习总结 1.1学习内容总结 一维数组知识点: 无论是对一维数组还是二维数组进行应用时,我们对其下标的应用十分广泛. 1:一维数组的输入和遍历 ...

  4. [算法模板]Kruskal重构树

    [算法模板]Kruskal重构树 kruskal重构树是一个很常用的图论算法.主要用于解决u->v所有路径上最长边的最小值,就是找到\(u->v\)的一条路径,使路径上的最长边最小. 图片 ...

  5. 学习spring源码-可参考的资料

    剑指Spring源码(二) https://www.cnblogs.com/codebear/p/10374261.html 使用idea和gradle编译spring5源码https://blog. ...

  6. magic模块 :Exception Value:failed to find libmagic. Check your installation

    原因 缺少安装依赖: magic 安装依赖: https://github.com/ahupp/python-magic#dependencies windows下解决方法: https://gith ...

  7. mysql主从复制报错解决方案

    mysql主从复制报错解决方案 我先制造个错误 在slave删除个info3字段 然后在master 在info3插入数据 报错如下<pre> Last_SQL_Errno: 1054 L ...

  8. MySQL查询指定表的字段名称

    1,查询表中所有字段(横排):SELECT GROUP_CONCAT( COLUMN_NAME SEPARATOR "," ) FROM information_schema.CO ...

  9. 解决www.coursera.org可以登录但无法播放视频

  10. [转帖]深入理解latch: cache buffers chains

    深入理解latch: cache buffers chains http://blog.itpub.net/12679300/viewspace-1244578/ 原创 Oracle 作者:wzq60 ...