###绝对布局AbsoluteLayout
    * android:layout_x="120dp"   在水平方向上偏移120像素
    * android:layout_y="54dp"    在垂直方向偏移54
###相对布局RelativeLayout
    * 组件默认左对齐、顶部对齐
    * 设置组件在指定组件的右边
         android:layout_toRightOf="@id/tv1"
    * 设置在指定组件的下边
        android:layout_below="@id/tv1"
    * 设置右对齐父元素
        android:layout_alignParentRight="true"
    * 设置与指定组件右对齐
         android:layout_alignRight="@id/tv1"
###线性布局LinearLayout
    * android:orientation="horizontal"  在水平方向上线性布局
    * android:orientation="vertical"    在垂直方向上线性布局
    * 设置右对齐
        android:layout_gravity="right"
    * 当竖直布局时,只能左右对齐和水平居中,顶部底部对齐竖直居中无效
    * 当水平布局时,只能顶部底部对齐和竖直居中
    * 使用match_parent时注意不要把其他组件顶出去
    * 线性布局非常重要的一个属性:权重
        android:layout_weight="1"
    * 权重设置的是按比例分配剩余的空间
###帧布局FrameLayout
    * 默认组件都是左对齐和顶部对齐,每个组件相当于一个div
    * 可以更改对齐方式     android:layout_gravity="bottom"
    * 不能相对于其他组件布局
###表格布局TableLayout
    * 每个<TableRow/>节点是一行,它的每一个节点是一列
    * 表格布局中的节点可设置宽高无效
        * 根节点<TableLayout/>的子节点宽为匹配父元素,高为包裹内容
        * <TableRow/>节点的子节点宽为包裹内容,高为包裹内容
        * 根节点<TableLayout/>的节点宽为匹配父元素,高位包裹内容
        * 以上默认属性无法修改
    *根节点中可以设置一下属性,表示让第一列拉伸填满宽度的剩余空间
        * android:stretchColumns="1"

案例一(帧布局):

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<TextView
        android:layout_width="240dp"
        android:layout_height="240dp"
        android:background="#FF0000"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="#00FF00"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_width="160dp"
        android:layout_height="160dp"
        android:background="#0000FF"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:background="#FFFF00"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="#FF00FF"
        android:layout_gravity="center"
        />
     <TextView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="#FFFFFF"
        android:layout_gravity="center"
        />
</FrameLayout>

布局结果: 

  

案例二(线性布局);

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <LinearLayout
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        >
        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="#ff0000"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="#ffffff"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="#000000"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="@android:color/darker_gray"
            />
    </LinearLayout>

<LinearLayout
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="vertical"
        >
        <TextView
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:background="#00ff00"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:background="@android:color/darker_gray"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:background="#000000"
            />
        <TextView
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:background="#ffcc0000"
            />
    </LinearLayout>
</LinearLayout>

事例结果:

  

案例三 相对布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<Button
        android:id="@+id/center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="中间"
        android:layout_centerInParent="true"
        />
    
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="上边"
        android:layout_above="@id/center"
        android:layout_alignRight="@id/center"
        android:layout_alignLeft="@id/center"
        />
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="下边"
        android:layout_below="@id/center"
        android:layout_alignRight="@id/center"
        android:layout_alignLeft="@id/center"
        />
    
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="左边"
        android:layout_toLeftOf="@id/center"
        android:layout_alignTop="@id/center"
        android:layout_alignBottom="@id/center"
        android:layout_alignParentLeft="true"
        />
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="右边"
        android:layout_toRightOf="@id/center"
        android:layout_alignTop="@id/center"
        android:layout_alignBottom="@id/center"
        android:layout_alignParentRight="true"
        />
    
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="左上"
        android:layout_toLeftOf="@id/center"
        android:layout_above="@id/center"
        android:layout_alignParentLeft="true"
        />
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="左下"
        android:layout_toLeftOf="@id/center"
        android:layout_below="@id/center"
        android:layout_alignParentLeft="true"
        />
    
     <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="右上"
        android:layout_toRightOf="@id/center"
        android:layout_above="@id/center"
        android:layout_alignParentRight="true"
        />
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="右下"
        android:layout_toRightOf="@id/center"
        android:layout_below="@id/center"
        android:layout_alignParentRight="true"
        />
</RelativeLayout>

事例结果:

  

案例四(表格布局):

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1"
    >
    <TableRow
        >
        <TextView
            android:layout_column="1"
            android:text="open"
            />
        <TextView
            android:gravity="right"
            android:text="Ctrl-O"
            />
    </TableRow>
    <TableRow >
        <TextView
            android:layout_column="1"
            android:text="save"
            />
        <TextView
            android:gravity="right"
            android:text="Ctrl-S"
            />
        </TableRow>
    <TableRow
        >
        <TextView
            android:text="  "
            />
        <TextView
            android:text="save AS"
            />
        <TextView
            android:text="Ctrl-shift-S"
            />
    </TableRow>
    
    <TextView
        android:layout_height="1dp"
        android:background="#000000"
        />
    
    <TableRow
        
        >
        <TextView
            android:text="X"
            />
        <TextView
            android:layout_span="2"
            android:text="Import"
            />
        
    </TableRow>
    <TableRow
        
        >
         <TextView
            android:text="X"
            />
        <TextView
            android:text="Export"
            />
        <TextView
            android:gravity="right"
            android:text="Ctrl-E"
            />
    </TableRow>
     <TextView
        android:layout_height="1dp"
        android:background="#000000"
        />
    <TableRow
        
        >
        <TextView
            android:layout_column="1"
            android:layout_span="2"
            android:text="Quit"
            />
        
    </TableRow>

</TableLayout>

事例结果:  

  

Android first---常见布局的更多相关文章

  1. android开发中常见布局的注意点

    常见布局的注意点 线性布局: 必须有一个布局方向 水平或者垂直 在垂直布局中 只有左对齐 右对齐 水平居中生效 在水平布局中 只有顶部对齐 底部对齐 垂直居中生效 权重:组件按比例分配屏幕的剩余部分( ...

  2. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

  3. Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)

     [Android布局学习系列]   1.Android 布局学习之--Layout(布局)具体解释一   2.Android 布局学习之--Layout(布局)具体解释二(常见布局和布局參数)   ...

  4. Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

    [Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.And ...

  5. Android下常见动画

    摘要:Android中常见的的动画有三种:属性动画.补间动画.帧动画. 注.因为前两种内容较多,后补 一.属性动画 二.补间动画 三.帧动画:本质是将一些连贯的图片加载形成连贯的动画效果 1.在Dra ...

  6. Android组件---四大布局的属性详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...

  7. 14.Android之Layout布局学习

    Android布局主要有5种,接下来学习总结下. 1) 最常见的线性布局 LinearLayout 线性布局是Android布局中最简单的布局,也是最常用,最实用的布局. android:orient ...

  8. 二十一、Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读

    术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸). 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小. 程序可以针对这三种尺寸的屏幕 ...

  9. [置顶] Android系统五大布局详解Layout

    我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit等 ...

  10. Android中常见的MVC模式

    MVC模式的简要介绍 MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller). MVC模式的目的就是实现Web系统的职能分工. Model层实现系统中的业务 ...

随机推荐

  1. 【iCore3 双核心板_FPGA】例程十一:乘法器实验——乘法器使用

    实验指导书及代码包下载: http://pan.baidu.com/s/1dEijBs1 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  2. ExtJS笔记 Using Events

    Using Events The Components and Classes of Ext JS fire a broad range of events at various points in ...

  3. VS2012编译VS2010版本的过程报错解决

    C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32C:\Program Files\MSBuild\Microsoft C:\Pro ...

  4. RESTful框架调研

    背景 当前的开放服务平台发展趋势,是服务使用者变得多种多样,其中既有各种前端设备(台式机.手机等),又有各种后端服务器,因此必须有一个统一的机制,方便各种服务使用者和开放服务平台进行通信.为了更好的实 ...

  5. 【ionic】微信表情设置教程

    NO.0 前提你的下载我的App :超级逗表情 Andorid:http://fir.im/chaojidbq Ios:https://github.com/apanly/chaojidbq (源码, ...

  6. 3DTouch开发 (基础)

    一.3DTouch开发准备工作(让模拟器也支持 3DTouch 的解决办法) 需要支持3DTouch的设备,如iPhone6s或以上.iOS9或以上.Xcode7或以上,估计很多和我一样的屌丝还没有i ...

  7. syslog日志系统

    目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用sysklog这个比较老的日志服务器套件.从前一篇日志可以看到,对其进行必要的配置能减少很多麻烦,并且可更有 ...

  8. English随笔1

    英语中的基本五大句型  1.Subject (主语) + Verb (谓语) Li Ming works The accident happened 2.Subject (主语) + Link. V( ...

  9. zabbix调用微信报警

    1.注册微信企业号,可以选团体号(针对小团队) 2.创建管理组 3.创建部门,记住部门id (使用了部门id,发消息会发送到所有部门成员,所以如果要单独发送给某个用户,""这样设置 ...

  10. Java接口与实例化

    看代码看到 public Runnable r = new Runnable() { @Override public void run() { ... } } 接口不能new ,不过可以生成一个匿名 ...