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. 【音乐欣赏】《TIT FOR TAT》 - MYTH & ROID

    曲名:TIT FOR TAT 作者:MYTH & ROID [00:00.000] 作曲 : MYTH & ROID [00:01.000] 作词 : MYTH & ROID ...

  2. Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)

    https://www.zhihu.com/question/51907207?rf=55052497 徐飞 在我看来,渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...

  3. touch命令修改时间

    实例[rhel7]: [root@localhost test]# stat 1.txt 文件:"1.txt" 大小:0 块:0 IO 块:4096 普通空文件设备:fd00h/6 ...

  4. 转载:Linux 时钟基础学习

    1.HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts.举例来说,HZ为1000,代表每秒有1000次ti ...

  5. 转载:initcall

    转自:http://blog.chinaunix.net/uid-29570002-id-4387097.html Linux系统启动过程很复杂,因为它既需要支持模块静态加载机制也要支持动态加载机制. ...

  6. Innovus 对multibit 的支持

    如果在综合阶段没有做multibit merge, 或综合阶段由于缺失物理信息multibit cell merge 不合理,那就需要PR 工具做multibit merge 或split. Inno ...

  7. SOA架构设计

    架构是—套构建系统的准则,通过这套准则,把—个复杂的系统划 分为一套更简单的子系统的集合,这些子系统之间保持相互独立,并与 整个系统保持一致,而且每—个子系统还可以继续细分下去,从而构成 —个企业级架 ...

  8. Codeforces Round #577 (Div. 2) 题解

    比赛链接:https://codeforc.es/contest/1201 A. Important Exam 题意:有\(n\)个人,每个人给出\(m\)个答案,每个答案都有一个分值\(a_i\), ...

  9. GO学习之 安装Go语言及搭建Go语言开发环境

    一.下载 1.下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 2.版本的选择 Windows ...

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

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