1.帧布局 FrameLayout:

FrameLayout是最简单的布局对象。在它里面的的所有显示对象都将固定在屏幕的左上角,不能指定位置,后一个会直接覆盖在前一个之上显示

  因为上面的一段话这个是在我初学的时候写的,描述的很不清楚。帧布局其实是一个非常好用的布局,他可以充当一个其他布局的的容器,单独加载到界面的某一块位置,并创建新的两个类**Fragment和**Activity继承Fragment和FragmentActivity,我们可以在Activity将布局中的定义为fragmentLayout的组件托管给fragment类

2.线性布局 LinearLayout:

LinearLayout是最常用的布局之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls类的父类,它里面所有显示的对象都以垂直或水平 的方式排列(通过设置LinearLayout的Orentation属性来设置排列方式),可以通过多个LinearLayout层级结构实现各种线性有序的布局。

  这里举个下图的例子,看下图ABC....JH的组件来实现下列的布局排列。1是一个水平的线性布局,包含2和3两个线性布局组件,(1的水平属性是表示1中的组件2和3是水平一个个排列的)3里面的 ABCDE组件是垂直摆放,所以2是一个垂直线性布局,2布局里的组件有4,5,6垂直摆放,那么2也是一个垂直线性布局,4线性布局中的组件FG是水平排列,4是一个水平属性的线性布局,6中要放的组件是7,8水平排列,8中要放JH垂直线性布局。

3.相对布局 RelativeLayout:

RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,是实际布局中最常用的布局方式之一。它灵活性大、属性也多,操作难度比较大,属性之间产生冲突的的可能性也大,使用相对布局时需要多做测试。

RelativeLayout用到的一些重要的属性:
     第一类:属性值为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 ----------------------如果对应的兄弟元素找不到的话就以父元素做参照物
    第二类:属性值必须为id的引用名“@id/id-name”
       android:layout_below -----------------------------------------在某元素的下方
       android:layout_above ----------------------------------------在某元素的的上方
       android:layout_toLeftOf --------------------------------------在某元素的左边
       android:layout_toRightOf -------------------------------------在某元素的右边
       android:layout_alignTop --------------------------------------本元素的上边缘和某元素的的上边缘对齐
       android:layout_alignLeft --------------------------------------本元素的左边缘和某元素的的左边缘对齐
       android:layout_alignBottom ----------------------------------本元素的下边缘和某元素的的下边缘对齐
       android:layout_alignRight -------------------------------------本元素的右边缘和某元素的的右边缘对齐
  第三类:属性值为具体的像素值,如30dip,40px
       android:layout_marginBottom --------------------------------离某元素底边缘的距离
       android:layout_marginLeft ------------------------------------离某元素左边缘的距离
       android:layout_marginRight ----------------------------------离某元素右边缘的距离
       android:layout_marginTop ------------------------------------离某元素上边缘的距离

4.表格布局 TableLayout:

TableLayout以行列的形式管理子元素,每一行是一个TableRow布局对象,当然也可以是普通的View对象,TableRow离每放一个元素就是一列,总列数由列数最多的那一行决定。

TableLayout的几个重要属性:

     collapseColumns -----------------------------设置隐藏那些列,列ID从0开始,多个列的话用”,”分隔
     stretchColumns ------------------------------设置自动伸展那些列,列ID从0开始,多个列的话用”,”分隔
     shrinkColumns -------------------------------设置自动收缩那些列,列ID从0开始,多个列的话用”,”分隔
   可以用”*”来表示所有列,同一列可以同时设置为shrinkable和stretchable。
5.绝对布局 AbsoluteLayout:

容器管理容器内控件的位置大小,开发人员通过指定X、Y坐标指定组件的位置

android:layout_x,指定控件在容器中的 x 坐标值

android:layout_y,指定控件在容器中的 y 坐标值

实际应用中一般不适用AbsoulteLayout,因为应用该APP的手机屏幕大小,分辨率肯定会不同

6.网格布局 GirdLayout:

GridLayout网格布局管理器是android 4.0 以后才增加的布局管理器

网格布局管理器将容器划分为行×列的网格,每个控件置于网格中,当然也可以通过设置相关属性使一个控件占据多行或多列

比如,做计算器就可以使用网格布局。

Android开发:界面设计之六大layouts介绍的更多相关文章

  1. 20155219实验四 Android开发基础设计实验报告

    20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...

  2. 20155227 《Java程序设计》实验四 Android开发基础设计实验报告

    20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...

  3. android ui界面设计参数讲解

    百度文库: http://wenku.baidu.com/link?url=s66Hw6byBEzmjL77doYL1YQN4Y_39F7MovaHKs5mVGrzTDOQCAmiM-1N_6Cdm- ...

  4. 20145219 《Java程序设计》实验四 Android开发基础设计实验报告

    20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...

  5. Android的界面设计工具 DroidDraw

    Android的界面设计工具 DroidDraw DroidDraw 下载地址:http://code.google.com/p/droiddraw/ 如图 也可以使用在线的版本(http://www ...

  6. Android典型界面设计(3)——访网易新闻实现双导航tab切换

    一.问题描述 双导航tab切换(底部区块+区域内头部导航),实现方案底部区域使用FragmentTabHost+Fragment, 区域内头部导航使用ViewPager+Fragment,可在之前博客 ...

  7. Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏

    一.问题描述 侧边栏是Android应用中十分常见的界面效果,可随主屏在左侧或右侧联动,是特别适应手机等小屏幕特性的典型界面设计方案之一,常用作应用的操作菜单,如图所示 实现侧边栏可以使用第三方组件s ...

  8. Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航

    一.问题描述 在Android典型界面设计一文中,实现典型滑动导航界面,其实使用ActionBar 也可以轻松实现这一效果,甚至也可实现类似Android典型界面设计(3)的双导航效果.可见Actio ...

  9. Android典型界面设计(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip实现双导航

    一.问题描述 在Android典型界面设计(3)的我们实现了双导航效果,即外层底部导航和内部区域的头部导航,如网易新闻等很多应用采用了这种导航,但Google提供DrawerLayout可实现抽屉式导 ...

随机推荐

  1. angular 页面中引入静态 PDF 文件

    在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件 常用的几种PDF预览代码片段如下: 方法一: <object type="application/pdf" ...

  2. 【Python】文件下载小助手

    import requests from contextlib import closing class ProgressBar(object): def __init__(self, title, ...

  3. kali Linux 2020.1最新安装教程,亲身尝试,绝对能帮你安装好!不是root、没有桌面、中文乱码、下载太慢、ssh链接等问题!

    既然已经开始研究kali Linux,小编就认为在下已经有了一定的基础.当然小编也是个小白用户.本人用的是Vmware虚拟机,这里只说一点,内存我选择的是4g因为这个包含桌面,所以稍微大一点.Linx ...

  4. java判断两个时间相差得天数

    方法一:通过Calendar类得日期比较,在这需要考虑闰年和平年,也要考虑跨年份 /** * date2比date1多的天数 * @param date1 * @param date2 * @retu ...

  5. 空指针异常与Optional类

    一.什么是空指针异常 当程序需要对象实例的时候返回null就会抛出空指针异常(NullPointerException,简称NPE).包括以下情况: 调用一个null对象实例的方法 访问或修饰null ...

  6. source insight 编译后出现停止工作解决方法

    解决方法: 工程的路径不要有中文,都用英文

  7. 如何在app.js 和其他页面中更改globalData的值

    它不能用this.setData方法更改值,该方法只能更改data:{}对象(而且在app.js中无法使用该方法),因此用app.globalData.isLogin = true;

  8. 吴裕雄 python 机器学习——模型选择数据集切分

    import numpy as np from sklearn.model_selection import train_test_split,KFold,StratifiedKFold,LeaveO ...

  9. 源头质量 PageHelper(分页),导出功能

    今天星期五,本来想直接关电脑走人的,但想想自己弄出来的,写写留个记忆吧.两个功能 导出 和 Mybatis的插件 PageHelper 分页 一,导出功能代码实现:这里是需要jar包的啊 <!- ...

  10. jQuery中$.fn

    $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效. 如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个 ...