第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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android应用开发详解》 作者:郭宏志 编著 内容简介    本书分为三个部分,包括基础篇、技术篇和应用篇。由浅入深地讲述了Android应用开发的方方面面。    第一篇 基础篇 第1 Android概述 Android概述,讲述了Android的前生后世、架构和特点、Android Market、应用程序组件和Android与Java ME的区别及联系    第2 Android开发基础 Android开发基础,讲述了Android开发环境的搭建、Android常用工具的使用和第一个Android应用程序的开发    第二篇 技术篇 第3 Android中的资源访问 Android 中的资源访问,讲述了如何定义和访问Android中的外部资源。   第4 Android用户界面 Android 用户界面,讲述了Android中的事件处理机制、布局管理和常用组件的使用。    第5 Android基本程序单元Activity Android 基本程序单元Activity,讲述了Android中重要组件Activity的创建、启动和生命周期等内容    第6 Android组件之间的信使Intent Android 组件之间的信使Intent,讲述了Intent对象及其属性、Intent的实现策略和Intent的常见应用   第7 Android Service组件 Android Service组件,讲述了Android中的后台服务Service的概念、创建和使用,并详细讲解了远程服务的调用    第8 Android广播事件处理 Broadcast Receiver Android 广播事件处理 Broadcast Receiver,讲述了广播事件处理机制、Notification、NotificationManager和AlarmManager的使用    第9 Android中的数据存取 Android中的数据存取,讲述了Android的四种数据存取方法:Preference、File、SQLite和Network    第10 Content Provider Content Provider,讲述了Android不同应用程序之间相互共享数据的机制,包括ContentProvider和ContentResolver    第11 Android中的多媒体应用 Android中的多媒体应用,讲述了Android的图片应用、音频及视频播放、音频及视频录制和照相机的使用    第12 Android中的图形图像 Android中的图形图像,讲述了Android中的图片、动画、图形绘制和图形特效    第13 Android中的互联网应用 Android中的互联网应用,讲述了Android中的各种网络应用,包括Socket、URL、HTTP、Web Service和WebView组件    第14 Android中的GPS应用 Android中的GPS应用,讲述了LocationManager、LocationProvider、跟踪、定位、Geocoder正逆向编解码和可视化位置服务    第三篇 应用篇 第15 Android应用案例——移动警务通 Android 应用案例——移动警务通,通过一个真实的商业案例讲解了Android的各种应用,本项目包括信息采集、信息查询、照片上传、GPS定位等综合警务应用    第16 Android应用案例——雷电游戏 Android 应用案例——雷电游戏,通过一个完整的雷电游戏,讲述了Android的游戏开发思路、框架和具体实现,并比较了Android游戏开发和Java ME游戏开发的异同,成功移植了Java ME游戏API到Android当中    第17 Android应用案例——备忘录 Android 应用案例——备忘录,通过一个Android基础应用项目综合应用了Android中的各种组件,包括Activity、Service、Broadcast Receiver、ContentProvider、Intent和View的应用    第18 Android应用案例——无线点餐系统 Android 应用案例——无线点餐系统,通过一个真实的商业案例讲解了Android的各种应用,本项目包括操作员登录、点餐、结算、转台、并台、查台、更新数据和退出系统等餐厅点餐的常用操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

so.far_away

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值