1. 线性布局 LinearLayout

线性布局分为水平和垂直两个方向,优点是简单可嵌套,缺点是只能在一个方向进行布局,而且嵌套过多可能存在风险。

1. 标签:<LinearLayout />

2. 基本属性

  1. id :表示当前布局或控件的唯一标识,构建后自动在R.java文件中生成一串标识符,可作为查找和引用控件的参考。

  2. layout_width:表示当前布局的宽度,可以使用 match_parentwrap_content 来表示当前的布局大小,或直接使用dp值固定大小。

  3. layout_height :表示当前布局的高度,可以使用 match_parentwrap_content 来表示当前的布局大小,或直接使用dp值固定大小。

  4. orientation :表示当前布局的分布方向,分为水平方向 horizental 和垂直方向 vertical ,如果没有定义此属性可能会报错。

  5. background :表示当前布局的背景,可以用十六进制的RGB、ARGBRRGGBB、AARRGGBB来表示,也可以调用 drawble 文件夹当中的图片作为背景。

  6. padding : 表示当前布局内部空间的填充值,一般使用dp来作为衡量单位,线性布局从左上角开始,也可以选择方向paddingTop,paddingLeft,paddingRight,paddingBottom

  7. margin : 表示当前控件或布局距离周围空间布局或父布局的距离,可选方向为margin_left,margin_top,margin_bottom,margin_right

  8. layout_weight :表示当前控件或布局中子控件所占权重,按数字来进行划分。

在划分权重时按当前数字/数字总和作为权重占比,Eg. 两个子控件权重都为1则各占1/2。且一般不预先分配固定大小。
8. gravity :表示当前控件中子控件的对齐方式,因此此属性在父容器的标签中出现。可取值为:bottom\center\top\center_vertical\center_horizontal

  1. layout_gravity :表示当前控件位于父控件中的对其方式,取值为center\top\bottom等。

3. 代码实例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"><LinearLayoutandroid:orientation="horizontal"android:id="@+id/llout1"android:layout_width="200dp"android:layout_height="200dp"android:background="#FF123456"android:gravity="center|bottom"android:layout_gravity ="center_vertical"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout><LinearLayoutandroid:orientation="vertical"android:id="@+id/llout2"android:layout_width="200dp"android:layout_height="200dp"android:background="#FF654321"android:layout_marginTop="50dp"android:layout_gravity ="bottom"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"></Button></LinearLayout>
</LinearLayout>

2. 相对布局 RelativeLayout

相对布局从屏幕的左上角开始绘制,并且堆叠排列。优点是自由度比较高,缺点是需要大量的位置参照。

1. 标签: <RelativeLayout />

2. 基本属性

  1. id :表示当前布局或控件的唯一标识,构建后自动在R.java文件中生成一串标识符,可作为查找和引用控件的参考。

  2. layout_width:表示当前布局的宽度,可以使用 match_parentwrap_content 来表示当前的布局大小,或直接使用dp值固定大小。

  3. layout_height :表示当前布局的高度,可以使用 match_parentwrap_content 来表示当前的布局大小,或直接使用dp值固定大小。

  4. background :表示当前布局的背景,可以用十六进制的RGB、ARGBRRGGBB、AARRGGBB来表示,也可以调用 drawble 文件夹当中的图片作为背景。

  5. padding : 表示当前布局内部空间的填充值,一般使用dp来作为衡量单位,线性布局从左上角开始,也可以选择方向paddingTop,paddingLeft,paddingRight,paddingBottom

  6. margin : 表示当前控件或布局距离周围空间布局或父布局的距离,可选方向为margin_left,margin_top,margin_bottom,margin_right

  7. layout_alignParent : 表示当前的空间位于父控件的分布位置 例:

<layout_alignParentBottom = “true”>

  1. layout_toRightof = “@id+” :表示当前控件位于id值容器的右侧,同时可替换为top\bottom\left\right等

3. 代码实例


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".RelativeActivity"><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="button1"android:layout_centerInParent="true"></Button><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="button2"android:layout_toLeftOf="@+id/btn1"android:layout_above="@id/btn1"  ></Button><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="button3"android:layout_toRightOf="@+id/btn1"android:layout_below="@id/btn1"></Button><Buttonandroid:id="@+id/btn4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="button4"android:layout_toLeftOf="@id/btn1"android:layout_alignTop="@id/btn1"></Button></RelativeLayout>

Android常用布局-线性布局和相对布局相关推荐

  1. Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)

    文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...

  2. android使用桢布局,Android 常用布局

    Android的布局有: LinearLayout线性布局 RelativeLayout            相对布局 FrameLayout单桢布局 TableLayout表格布局 GridLay ...

  3. Android开发:1-3、Android常用布局

    Android常用布局 常用6大布局: 常用XML布局属性: 常用6大布局: 常用XML布局属性: 1.线性布局: 1.android:orientation=" " 线性布局中的 ...

  4. 安卓学习笔记08:常用布局 - 线性布局

    文章目录 零.学习目标 一.界面与布局概述 (一)界面 (二)布局 1.视图层次结构图 2.UI容器 (Container) 3.UI控件 (Control) 4.两种方式声明布局 二.线性布局概述 ...

  5. android layout布局 有哪些,Android 常用布局 介绍与使用

    读前思考 学习一门技术或者看一篇文章最好的方式就是带着问题去学习,这样才能在过程中有茅塞顿开.灯火阑珊的感觉,记忆也会更深刻. 有哪些常用的布局? 每一种布局有何特点与不同? 布局上如何优化? 1. ...

  6. Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局

    1.概述 1.1 布局的作用:布局是对界面结构的全面规划和安排,通过api中提供的各种布局能够快速的完成对界面的设计和规划 1.2 布局的种类:线性布局(LinearLayout).相对布局(Rela ...

  7. Android学习笔记 2.2.1 线性布局 2.2.2 表格布局

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.2 第1组 UI组件:布局管理器 2.2.1 线性 ...

  8. android 常用布局组件,Android六大基本布局

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一.基本理论 Android六大基本布局分别是: 线性布局LinearLayout. 表格布局TableLayout. ...

  9. Android常用的五种布局

    开发工具与关键技术:Android studio64, Android 1.FrameLayout(帧布局)是最简单的布局方式,放置的控件都只能罗列到左上角,控件会有重叠,不能进行复杂的布局. 2.L ...

  10. android动态更改布局宽高,动态更改Android上的线性布局宽度或高度

    我试图动态更改线性布局或任何其他窗口小部件宽度或高度,但引发异常.动态更改Android上的线性布局宽度或高度 我的布局: android:id="@+id/abc" androi ...

最新文章

  1. DLL技术应用04 - 零基础入门学习Delphi47
  2. 移植uboot之修改代码支持NorFlash记录续集
  3. 一文搞懂物联网Modbus通讯协议
  4. ubuntu 12安装oracle,Ubuntu12.04(32位)安装Oracle 11g(32位)全过程
  5. 表单在线生成 html代码,JSP实现用于自动生成表单标签html代码的自定义表单标签...
  6. 人工智能TensorFlow工作笔记004---还记得标准差嘛_标准差的由来
  7. 【学习笔记:计算几何基础3】 Convex Hull
  8. 复杂网络分析 02 复杂网络分析中的基本概念学习笔记
  9. bootcamp空间不足_Bootcamp安装WindowsXP补丁时C盘空间不足的解决措施
  10. 模拟外线O口呼入时,看不到来电显示号码?
  11. (六)springMvc 和 mybatis 整合
  12. 插入法排序c语言程序,C语言直接插入排序算法
  13. python文件处理——encoding参数,utf-8,gbk
  14. 使用电脑修改apk图标和名字
  15. Python学习之解决“千年虫”问题
  16. 智能安防是趋势 几大重点领域深入探讨
  17. ROL,ROR,SAR,SHR,SAL,SHL区别
  18. 华硕rt-n16无线打印服务器,华硕无线路由器RT-N16解决无线信号难题
  19. 《机器视觉与算法》学习笔记(一)——图像的采集
  20. android设置自动旋转屏幕,android怎样实现关闭系统自动旋转屏幕时能够自动横竖屏...

热门文章

  1. CUDA10.1安装 +VS2015开发环境搭建
  2. 各个版本的 Mac OS U盘终端制作命令
  3. 计算机知识技能答案,学生计算机知识技能赛参考题范围及答案.doc
  4. 全新万能PDF转换器官方免费下载
  5. 新年礼物送什么好?五款高颜值的蓝牙耳机盘点
  6. 中国企业的商业模式创新
  7. java穷举密码_穷举算法和递推算法(Java)
  8. 全国大学生英语竞赛培训:听力、词汇语法、完形填空、阅读理解、翻译、改错、IQ题、大小作文、语法等部分快速得分、备战策略和获奖技巧讲解!
  9. win10安装账户卡住_win10系统安装时卡死或黑屏的解决方法
  10. linux 显卡驱动 在哪里,linux下如何看我的显卡驱动是否装好了