当前位置: 首页 > article >正文

第2章 Android常见界面布局

课后习题

1. 列举Android中的常用布局,并简述他们各自的特点

Android中有五种常用布局,分别为RelativeLayout(相对布局)、LinearLayout(线性布局)、FrameLayout(帧布局)、TableLayout(表格布局)、ConstraintLayout(约束布局),他们的特点具体如下:
(1)RelativeLayout(相对布局):该布局是通过相对位置的方式指定该布局内子控件的位置,以父容器或者其他子组件为参照物,指定布局中子控件的位置。
(2)LinearLayout(线性布局):该布局可通过android:orientation属性指定该布局内的子控件水平和竖直排列。
(3)TableLayout(表格布局):采用行、列的形式来管理控件。他通常搭配TableRow布局使用,一个TableRow代表一行,在TableRow中添加的控件代表一列。
(4)FrameLayout(帧布局):该布局会在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。默认情况下,帧布局中的所有控件会与左上角对齐。
(5)ConstraintLayout(约束布局):该布局是Android2.2新添加的布局,他适用于可视化的方式编写界面布局,他有相对定位、居中定位和倾向、Chain等性质。

2.1View视图

Android所有的UI元素都是通过View与ViewGroup构建的,ViewGroup作为容器盛装界面中的空间,可以包含普通的View控件,也可以包含ViewGroup
在这里插入图片描述
Android应用的每个界面的根元素必须有且只有一个ViewGroup容器

2.2界面布局编写方式

2.2.1在XML文件中编写布局

有效地将界面中的布局代码和Java代码隔离,使程序的结构更加清晰
RelativeLayout继承自ViewGroup,TextView继承自View

2.2.2在Java代码中编写布局

在Android中所有布局和控件的对象都可以通过new关键字创建出来,将创建的View空间添加到ViewGroup布局中,从而实现View空间在布局界面中显示
在这里插入图片描述

2.3常见界面布局

2.3.1布局的通用属性

Android系统提供的五种常用布局直接或者间接继承自ViewGroup
在这里插入图片描述
①android:id
当前布局的唯一标识
XML文件中:通过"@+id/属性名称"定义
Java代码中:为布局指定android:id属性后,在R.java文件中,会自动生成对应的int值,在Java代码中通过为findViewById()方法传入该int值来获取该布局对象
②android:layout_width/android:layout_height
fill_parent/match_parent/wrap_content
③android:background
可以引用图片资源,也可以是颜色资源

2.3.2RelativeLayout相对布局

通过相对定位的方式指定子控件的位置
通过以父容器或其他子控件为参照物,指定布局中子控件的位置
在这里插入图片描述

2.3.3LinearLayout线性布局

通常指定布局内的子控件水平或者竖直排列
在这里插入图片描述
①android:orientation属性
vertical/horizontal
②android:layout_weight属性
按权重比显示大小
只有在android:layout_width设置为0dp时才会有权重占比的效果
并且父布局的android:layout_width不能设置为wrap_content

2.3.4TableLayout表格布局

采用行、列的形式来管理控件,它不需要明确声明包含多少行、多少列,而是通过在TableLayout布局中添加TableRow布局或控件来控制表格的行数,可以在TableRow布局中添加控件来控制表格的列数
TableLayout继承自LinearLayout,完全支持LinearLayout所支持的属性
在这里插入图片描述在这里插入图片描述
在TableLayout布局中,列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度取决于父容器的宽度

2.3.5FrameLayout帧布局

FrameLayout帧布局用于在屏幕中创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的空间会叠加在上一个控件上层。默认情况下,帧布局中的所有控件都会与在左上角对齐
在这里插入图片描述

2.3.6ConstraintLayout约束布局

ConstraintLayout是Android Studio 2.2新添加的布局,不适合使用XML代码的方式编写布局,适合使用可视化的方法编写界面布局
特性:
①相对定位
②居中定位和倾向
③Chain

http://www.lryc.cn/news/2413017.html

相关文章:

  • shell学习教程(超详细完整)
  • 玩家开发“提莫快跑”游戏模式获官方认可
  • 苹果5越狱教程_iOS 13.3.1 checkra1n 手机越狱?不用电脑也行
  • qq邮箱服务器地址ip地址,如何查询对方QQ邮箱的ip地址?QQ邮箱ip地址的查询方法...
  • 阿里巴巴拟8月28日在香港完成双重主要上市
  • js实现ctrl+v粘贴并上传图片
  • 如何设置域名泛解析及解决恶意泛域名解析的方法
  • IE浏览器的缓存设置
  • 分析了一下360安全卫士的 HOOK(二)——架构与实现(zt)
  • 不用再为下载而发愁了,提供一款支持115网盘、迅雷、快车、旋风、飞速网盘的专用链接解析出资源的真实地址的软件...
  • Meterpreter木马技术分析与防范
  • web飞信 接口解析
  • Struts 2.0
  • Makefile经典教程(转)
  • aspectjweaver.jar包下载
  • PHP汉字转换拼音的函数代码
  • 证明与计算(3): 二分决策图(Binary Decision Diagram, BDD)
  • Python办公自动化全攻略!从入门到精通,只需这几步!
  • HTML通用代码
  • 白山搜索引擎优化收费_在网络推广中,SEO排名优化是成本最低的方式
  • Null Object模式
  • 迅雷老版本下载地址
  • 管理项目干系人时,巧用工具可以事半功倍
  • python实现labelme_json_to_dataset数据集标签批量提取
  • QQ英文版有点奇怪
  • 2021数学建模国赛B题《对乙醇偶合制备 C4 烯烃的问题研究》省一,第一次参加分享经验
  • 微pe工具箱 系统安装教程_通用PE工具箱装系统(V4.0)——安装原版WIN7系统
  • 酒店客房管理系统的设计与实现毕业设计
  • BIOS下关于CPU性能常用设置的解释及建议
  • Ubuntu11.04内核6.5.0.14系统USB转CAN适配器SOCKETCAN驱动