文章目录

  • 零、学习目标
  • 一、相对布局概述
    • 1、布局特点
    • 2、继承关系图
    • 3、常用属性
      • (1)相对于父容器居中
      • (2)相对于其它控件的位置
      • (3)相对于其它控件对齐
      • (4)相对于父容器对齐
      • (5)标识符问题
  • 二、案例演示——相对布局演示
    • (一)运行效果
    • (二)实现步骤
      • 1、创建安卓应用【RelativeLayoutDemo】
      • 2、主布局资源文件activity_main.xml
      • 3、启动应用,查看效果
      • 课堂练习
  • 三、课后作业
    • 任务1、输入姓名
    • 任务2、用户注册

零、学习目标

  1. 能说出相对布局常用的属性
  2. 能利用相对布局实现比较复杂的界面设计

一、相对布局概述

1、布局特点

在相对布局中,一个控件的位置取决于它和其它控件的相对关系。

  • 优点:使用比较灵活。
  • 缺点:复杂,掌握较难。

2、继承关系图

3、常用属性

(1)相对于父容器居中

  • layout_centerInParent 在父容器居中
  • layout_centerHorizontal 在父容器水平居中
  • layout_centerVertical 在父容器垂直居中

(2)相对于其它控件的位置

  • layout_toLeftOf 在……左边
  • layout_toRightOf 在……右边
  • layout_above 在……上面
  • layout_below 在……下面

(3)相对于其它控件对齐

  • layout_alignLeft 与……左对齐
  • layout_alignRight 与……右对齐
  • layout_alignTop 与……顶对齐
  • layout_alignBottom 与……底对齐
  • layout_alignBaseLine 与……基线对齐

(4)相对于父容器对齐

  • layout_alignParentLeft 与父容器左对齐
  • layout_alignParentRight 与父容器右对齐
  • layout_alignParentTop 与父容器顶对齐
  • layout_alignParentBottom 与父容器底对齐

(5)标识符问题

  • @+id/button —— 创建新的id(建议使用)
  • @id/button —— 引用已有的id

二、案例演示——相对布局演示

(一)运行效果

(二)实现步骤

1、创建安卓应用【RelativeLayoutDemo】


2、主布局资源文件activity_main.xml


分析界面:首先确定【中央】按钮,然后其它按钮可以根据与它的相对位置关系来定位。【左上角】按钮、【右上角】按钮、【左下角】按钮与【右下角】按钮可以根据它与父容器的对齐方式来确定。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><Buttonandroid:id="@+id/btnCenter"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="中央"/><Buttonandroid:id="@+id/btnUpperLeft"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toLeftOf="@id/btnCenter"android:layout_above="@id/btnCenter"android:text="左上"/><Buttonandroid:id="@+id/btnUpperRight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/btnCenter"android:layout_above="@id/btnCenter"android:text="右上"/><Buttonandroid:id="@+id/btnLowerLeft"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toLeftOf="@id/btnCenter"android:layout_below="@id/btnCenter"android:text="左下"/><Buttonandroid:id="@+id/btnLowerRight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/btnCenter"android:layout_below="@id/btnCenter"android:text="右下"/><Buttonandroid:id="@+id/btnOK"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/btnLowerLeft"android:layout_alignLeft="@id/btnLowerLeft"android:layout_marginTop="15dp"android:text="确定"/><Buttonandroid:id="@+id/btnCancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/btnLowerRight"android:layout_alignLeft="@id/btnLowerRight"android:layout_marginTop="15dp"android:text="取消"/><Buttonandroid:id="@+id/btnUpperLeftCorner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="左上角"/><Buttonandroid:id="@+id/btnUpperRightCorner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:text="右上角"/><Buttonandroid:id="@+id/btnLowerLeftCorner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"android:text="左下角"/><Buttonandroid:id="@+id/btnLowerRightCorner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:text="右下角"/></RelativeLayout>
  • 查看设计视图

3、启动应用,查看效果

课堂练习

  • 添加两个按钮,运行效果如下图所示

三、课后作业

任务1、输入姓名

  • 想一想,在相对布局里,上述界面首先添加哪个控件?为什么?

任务2、用户注册

  • 用户注册窗口
  • 用户注册窗口——>显示注册信息窗口

安卓学习笔记10:常用布局 - 相对布局相关推荐

  1. android学习笔记---android常用的软件布局方式,使用方法总结

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...

  2. mysql 学习笔记10 常用数学函数

    概述: abs的使用,取绝对值 select abs(-100); 返回100 ceiling,向上取整, floor,向下取整 format函数,设置小数显示位数,与round函数类似 least函 ...

  3. 2020年安卓学习笔记目录

    文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...

  4. 「学习笔记」黑马面面布局开发

    「学习笔记」黑马面面布局开发 黑马面面布局开发 一.目的 1.1 技术方案 1.2 代码规范 1.2 目录规范 二.流程开发 2.1 蓝湖/摹客协作平台 2.2 适配方案 2.3 初始化文件 2.4 ...

  5. AD学习笔记(四)PCB布局分析

    文章目录 AD学习笔记 第四讲 PCB布局分析 一.PCB导入以及常见报错解决方法 二.常见绿色报错的消除 三.PCB板框的评估及叠层设计 四.快捷键设置及推荐 五.PCB布局注意事项 AD学习笔记 ...

  6. Android学习笔记---09_深入了解各种布局技术

    Android学习笔记---09_深入了解各种布局技术 09_深入了解各种布局技术

  7. 前端学习笔记36-水平方向的布局

    前端学习笔记36-水平方向的布局 上一节中的margin-right是没用的,为什么呢? 子元素的七个水平布局设置: margin-left border-left padding-left widt ...

  8. 安卓学习笔记07:事件处理、窗口跳转与传递数据

    文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...

  9. JavaWeb黑马旅游网-学习笔记10【项目代码】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. linux 隐藏权限,Linux权限位,s权限,t权限,及隐藏权限
  2. 五年循环期限已到,我们又要步入“AI寒冬”了吗?
  3. Ehcache学习笔记(一)基础入门
  4. lumia920 和htc 8x的对比评测
  5. 看了本书《答案在你心中》里面的很多问题都蛮有意思!!!
  6. 最大堆MaxHeap和最小堆MinHeap的实现(转)
  7. What is Closure
  8. Javascript中call()和apply()的用法 ----1
  9. 奇怪的吃播_快来围观那些奇怪的吃播!!
  10. lzg_ad:FBWF技术概述
  11. 「Mpvue」记录我遇到的天坑
  12. UTC(世界标准时间)/GMT(格林威治时间)/CST(北京时间)
  13. HTML点击图片播放音乐
  14. 【干货】Markdown编辑博文,公式图片轻松搞定
  15. 软件框架技术1(MyBatis)
  16. Android之View提升:四 使用ExpandableListView 折叠显示
  17. 各浏览器User-Agent用户代理字符串整理
  18. 云南省二级c计算机考试试题,2015云南省计算机等级考试试题 二级C试题考资料...
  19. nodejs+vue+elementui社区医院挂号管理系统python
  20. python爬取微博数据存入数据库_Python爬取微博数据并存入mysql,excel中

热门文章

  1. 我敢说,这个版本的斗地主你肯定没玩过?
  2. 【华为云技术分享】云图说 | 一张图看懂华为云弹性公网IP
  3. 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
  4. 解析:区块链的本质是伴随信息社会产生的一种新型生产关系
  5. 几个容器网络相关问题的分析和解决总结
  6. 【Python3网络爬虫开发实战】1.7.2-mitmproxy的安装
  7. 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚
  8. LaTeX学习经验与常用文档
  9. 用Python批量修改图片名称(后缀)
  10. day28 java的IO流 (1)对IO的初步了解