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. MYSQL内置函数【转】

    一.MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT AS ...

  2. report_delay_calculation/check_timing/report_annotated_parasitics/report_analysis_coverge

    如何debug 一颗cell 或一段net 的delay,  常用的办法是用report_delay_calculation 报这颗cell 或这段net, 会得到形式如下的report, 从该rep ...

  3. 粪发涂墙-Redis

    Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞 ...

  4. Docker 上安装、启动 MySQL

    在docker仓库中搜索mysql的镜像: docker search mysql ; 下载镜像,这里我们安装 5.7 版本 docker pull mysql:[TAG]; 不写TAG默认拉取最新版 ...

  5. django 模版查找路径

    路径的配置,模版上下文的配置等.模版路径可以在两个地方配置. 1.'DIRS':这是一个列表,在这个列表中可以存放所有的模版路径,以后在视图中使用render或者render_to_string渲染模 ...

  6. HBuilder笔记

    官网: https://uniapp.dcloud.io/quickstart HBuilderX - 高效极客技巧 https://ask.dcloud.net.cn/article/13191 插 ...

  7. CSS控制 文字超出部分显示省略号

    实现单行文本的溢出显示省略号, (需要加宽度width属来兼容部分浏览) <p style="width: 100px;overflow: hidden;white-space: no ...

  8. Linux编程日常错误

    编译的时候出现如下错误提示: undefined reference to `sem_init'undefined reference to `sem_post'undefined reference ...

  9. JS中的数组创建,初始化

    JS中没有专门的数组类型.但是可以在程序中利用预定义的Array对象及其方法来使用数组. 在JS中有三种创建数组的方法: var arr = new Array(1,2,3,4); var arr = ...

  10. 一个HTTP数据包的奇幻之旅

    我是一个HTTP数据包,不知谁创建了我,把我丢到这个房间. 突然,来了一个大汉,我吓得缩到角落. “该启程了,站起来”. “去哪里啊?” 我弱弱的问. “还能去哪里,你是一个数据包,当然要出远门,完成 ...