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. 【oracle】定时任务存储过程带参

    DECLAREX NUMBER;--随机一个job编号BEGINSYS.DBMS_JOB.SUBMIT( job => X,what => 'SHEVERYDAYJOB(TO_CHAR(S ...

  2. 【myBatis】java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.NUMBE

    可能#{current_date, jdbcType=VARCHAR}中的VARCHAR类型不对

  3. Vim Python3环境打造

    Vim Python3环境打造 tags: Vim Python3 参考网址:Vim与Python真乃天作之合:打造强大的Python开发环境 分割布局 sv 纵向分割 vs 横向分割 ctrl+W ...

  4. PATA1028 List Sorting

    Excel can sort records according to any column. Now you are supposed to imitate this function. Input ...

  5. linux 系统时间 EST CST

    早上本来要做一些实验的,基于时间的.date 查看时间,发现时间不对.用 pool.ntp.org 去同步发现时间还是一样的,并且没有报错.如是开启另外一台时间对的linux服务器进行对比.发现一个是 ...

  6. 高系统的分布性有状态的中间层Actor模型

    写在前面 https://www.cnblogs.com/gengzhe/p/ray_actor.html Orleans是基于Actor模型思想的.NET领域的框架,它提供了一种直接而简单的方法来构 ...

  7. python提取批量文件内的指定内容

    目标文件夹: 文件内容: 实现代码: # -*- coding:utf-8 -*- # __author__ :kusy # __content__:get ssr info from html fi ...

  8. javascript 忍者秘籍读书笔记(二)

    闭包的私有变量 function Ninja() { let feints = 0; this.getFeints = function () { return feints }; this.fein ...

  9. 大一C语言课程设计——班级档案管理系统

    记录我在大一第二学期期末做的C语言课程毕业设计 1. 班级档案管理系统运用到的主要结构体 typedef struct birthday //出生日期{int year;int month;int d ...

  10. apache添加ssl协议实现用户认证

    目标 1对服务器的访问由http改为https, 2仅有证书的客户端可以访问服务器, 3.通过服务器端的配置,可以停用某个客户端的证书. 一 Apache服务器相关配置: 在../apache/con ...