描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302523826
《Android移动开发案例课堂》的特色如下:
零基础、入门级的讲解
无论您是否从事计算机相关行业,无论您是否接触过Android移动开发,都能从本书中找到适合的起点。
超多、实用、专业的范例和项目
本书在编排上紧密结合深入学习Android移动开发技术的先后过程,从Android移动开发的环境搭建开始,带领大家逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者学习起来简明轻松,操作起来有章可循。
随时检测自己的学习成果
每章首页均提供了“本章要点”,以指导读者重点学习及学后检查。
大部分章节后的“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
细致入微、贴心提示
本书在讲解过程中,使用了“注意”和“提示”等小栏目,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
专业创作团队和技术支持
您在学习过程中遇到任何问题,均可加入QQ群(案例课堂VIP)进行提问,专业人员会在线答疑。
超值赠送资源
全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的开发过程及技术关键点。比看书更能轻松地掌握书中所有的Java编程语言知识,而且扩展的讲解部分使您能得到比书中更多的收获。
超多容量优质资源大放送
赠送大量优质资源,包括本书实例源文件、精美教学幻灯片、精选本书教学视频、16个经典项目开发完整源码、Android开发疑难问题解答、Android常见错误及解决方案、Android系统开发常用类查询、Android移动开发工程师面试题、Android项目开发经验及技巧大汇总等。读者可以通过清华大学官网本书页面获取下载资源。
《Android移动开发案例课堂》以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础入门→核心技术→高级应用→项目开发实战”的讲解模式,深入浅出地讲解Android的各项技术及实战技能。
《Android移动开发案例课堂》第1篇“基础入门”主要讲解走进Android的世界、Android虚拟设备、Android布局与实现等;第2篇“核心技术”主要讲解基础UI组件、高级UI组件、精通活动、服务与广播、事件与消息、使用资源、图形与图像处理、多媒体开发等;第3篇“高级应用”主要讲解数据存储、数据共享、传感器、网络开发、精通地图定位、Android碎片开发、Android开发的技巧与调试等;第4篇“项目开发实战”主要讲解开发俄罗斯方块、开发股票操盘手、开发考试系统、开发网上商城。
《Android移动开发案例课堂》赠送10大超值王牌资源,包括本书实例源文件、精美教学幻灯片、精选本书教学视频、16个经典项目开发完整源码、Android开发疑难问题解答、Android常见错误及解决方案、Android系统开发常用类查询、Android移动开发工程师面试题、Android项目开发经验及技巧大汇总等。读者可以通过QQ群(案例课堂VIP):451102631获取赠送资源。
《Android移动开发案例课堂》适合任何想学习Android移动开发的人员,无论您是否从事计算机相关行业,无论您是否接触过Android移动开发,通过学习均可快速掌握Android在项目开发中的知识和技巧。
目 录
第1篇 基 础 入 门
第1章 走进Android的世界——快速搭建开发环境 3
1.1 认识Android 4
1.1.1
Android简介 4
1.1.2
Android系统架构 4
1.1.3
Android四大组件 6
1.2
Android模拟器 7
1.2.1
模拟器概述 7
1.2.2
模拟器和真机的使用区别 8
1.3 开发Android应用前的准备 8
1.3.1
Android系统开发要求 8
1.3.2
Android软件开发包 9
1.4
Android开发环境搭建 9
1.4.1
Java环境搭建 9
1.4.2
安装Android Studio 14
1.4.3
Android Studio开发工具介绍 19
1.5 大神解惑 21
1.6 跟我学上机 22
第2章 跨平台测试利器——Android虚拟设备 23
2.1
HelloWorld应用分析 24
2.1.1
新建一个Android项目 24
2.1.2
启动模拟器 26
2.1.3
运行程序 28
2.1.4
项目结构 29
2.1.5
代码分析 31
2.2 第三方模拟器Genymotion 33
2.2.1
注册Genymotion 33
2.2.2
下载Genymotion 33
2.2.3
安装Genymotion 34
2.2.4
引入Genymotion 36
2.2.5
启动Genymotion并添加设备 38
2.3 大神解惑 40
2.4 跟我学上机 40
第3章 Android布局与实现 41
3.1
Android布局 42
3.1.1
创建一个错误布局的程序 42
3.1.2
相对布局 45
3.1.3
线性布局 50
3.1.4
帧布局 51
3.1.5
表格布局 52
3.1.6
网格布局 55
3.1.7
布局管理器的综合应用 59
3.1.8
约束布局 60
3.2
UI设计相关概念 64
3.2.1
View是什么 64
3.2.2
ViewGroup是什么 65
3.2.3
通过Java代码控制UI界面 65
3.2.4
通过Java代码与XML混合控制UI界面 67
3.3 大神解惑 68
3.4 跟我学上机 68
第2篇 核 心 技 术
第4章 基础UI组件 71
4.1 文本类组件 72
4.1.1
TextView组件 72
4.1.2
EditText组件 73
4.2 按钮类组件 75
4.2.1
普通按钮 75
4.2.2
图片按钮 76
4.2.3
单选按钮 78
4.2.4
多选按钮 82
4.3 日期时间类组件 85
4.3.1
日期选择组件 85
4.3.2
时间选择组件 86
4.3.3
日历视图组件 88
4.3.4
文本时钟组件 89
4.3.5
计时器组件 90
4.4 大神解惑 93
4.5 跟我学上机 93
第5章 高级UI组件 95
5.1 进度条类组件 96
5.1.1
进度条组件 96
5.1.2
拖动条组件 97
5.1.3
星级评分组件 99
5.2 图像类组件 101
5.2.1
图像视图组件 101
5.2.2
图像切换组件 103
5.2.3
网格视图组件 105
5.3 列表类组件 109
5.3.1
下拉列表框组件 110
5.3.2
列表视图组件 112
5.3.3
RecyclerView组件 115
5.4 通用组件 118
5.4.1
滚动视图组件 118
5.4.2
选项卡组件 120
5.5 大神解惑 122
5.6 跟我学上机 122
第6章 精通活动 123
6.1 认识活动 124
6.2 深入活动 125
6.2.1
初建Activity 125
6.2.2
配置Activity 126
6.2.3
Activity的启动与关闭 127
6.3 构建多个活动的应用 130
6.3.1
数据交换之Bundle 130
6.3.2
调用页面返回数据 134
6.4 组件间的信使Intent 138
6.4.1
什么是Intent 138
6.4.2
应用Intent 139
6.4.3
Intent的属性 139
6.4.4
Intent的种类 141
6.4.5
Intent过滤器 142
6.5 大神解惑 143
6.6 跟我学上机 144
第7章 服务与广播 145
7.1 认识服务 146
7.1.1
服务的分类 146
7.1.2
创建服务 147
7.1.3
启动与停止服务 150
7.1.4
绑定服务 153
7.2
IntentService 156
7.3 认识广播 157
7.3.1
广播的分类 157
7.3.2
接收系统广播 157
7.3.3
发送广播 160
7.4 大神解惑 162
7.5 跟我学上机 162
第8章 事件与消息 163
8.1 事件的处理 164
8.1.1
基于监听的事件处理 164
8.1.2
基于回调的事件处理 166
8.2 物理按键事件 167
8.3 触摸事件 169
8.3.1
长按事件 169
8.3.2
触摸事件 170
8.3.3
触摸与单击的区别 171
8.4
Toast提示消息 172
8.4.1
makeText方法 173
8.4.2
定制Toast 173
8.5
AlertDialog消息 174
8.6 状态栏通知消息 178
8.7
Handler消息 180
8.7.1
Handler的运行机制 180
8.7.2
Handler类中的常用方法 181
8.7.3
Handler与Looper、MessageQueue的关系 182
8.8 大神解惑 184
8.9 跟我学上机 184
第9章 使用资源 185
9.1 字符串资源 186
9.1.1
字符串资源文件 186
9.1.2
使用字符串资源 187
9.2 颜色资源 187
9.2.1
颜色资源文件 187
9.2.2
颜色的设置 188
9.2.3
文本框使用颜色 188
9.3 数组资源 189
9.3.1
定义资源文件 189
9.3.2
使用数组资源 189
9.4 尺寸资源 191
9.4.1
尺寸单位 191
9.4.2
尺寸资源文件 191
9.4.3
使用尺寸资源 192
9.5 布局资源 193
9.6 图像资源 194
9.6.1
Drawable资源 194
9.6.2
Drawable中的XML资源 196
9.6.3
Mipmap资源 199
9.7 主题和样式资源 199
9.7.1
主题资源 199
9.7.2
样式资源 201
9.7.3
主题编辑器的使用 201
9.8 菜单资源 203
9.8.1
静态创建菜单 203
9.8.2
动态创建菜单 204
9.8.3
使用菜单 205
9.9 国际化 207
9.10
大神解惑 209
9.11
跟我学上机 210
第10章 图形与图像处理 211
10.1
bitmap图片 212
10.1.1
Bitmap类 212
10.1.2
BitmapFactory类 212
10.2
绘图常用类 214
10.2.1
Paint类 214
10.2.2
Canvas类 215
10.2.3
Path类 217
10.3
绘制图像 217
10.4
绘制路径 219
10.5
动画 221
10.5.1
逐帧动画 221
10.5.2
补间动画 222
10.5.3
布局动画 226
10.5.4
属性动画 229
10.6
大神解惑 232
10.7
跟我学上机 232
第11章 多媒体开发 233
11.1
音频与视频 234
11.1.1
MediaPlayer播放音频 234
11.1.2
SoundPool播放音频 236
11.1.3
MediaPlayer播放视频 238
11.1.4
VideoView播放视频 240
11.2
摄像头 242
11.2.1
使用系统相机 242
11.2.2
自定义相机拍照 245
11.3
大神解惑 250
11.4
跟我学上机 250
第3篇 高 级 应 用
第12章 数据存储 253
12.1
文件存储读写 254
12.1.1
文件操作模式及方法 254
12.1.2
读写文件操作 255
12.1.3
通过DDMS查看存储内容 259
12.2
SharedPreferences存储 260
12.2.1
获取SharedPreferences对象 260
12.2.2
向SharedPreferences中存入
数据 260
12.2.3
读取SharedPreferences中的
数据 262
12.3
数据库存储 264
12.3.1
sqlite3工具的使用 264
12.3.2
代码操作数据库 266
12.3.3
SQLiteOpenHelper类 269
12.4
大神解惑 273
12.5
跟我学上机 274
第13章 数据共享 275
13.1
数据共享的标准 276
13.1.1
ContentProvider简介 276
13.1.2
什么是URI 276
13.1.3
权限 277
13.1.4
运行时权限的获取 278
13.2
访问其他程序的数据 281
13.2.1
ContextResolver的基本用法 281
13.2.2
创建自己的共享数据 284
13.2.3
辅助类 286
13.2.4
打包与解析数据 287
13.2.5
展示数据 289
13.3
大神解惑 291
13.4
跟我学上机 291
第14章 传感器 293
14.1
传感器简介 294
14.1.1
常用传感器简介 294
14.1.2
使用传感器开发 294
14.2
传感器实战 296
14.2.1
方向传感器 296
14.2.2
加速度传感器 297
14.3
指南针项目 300
14.3.1
创建项目 300
14.3.2
重绘方法 300
14.3.3
更新位置 301
14.3.4
国际化开发 303
14.3.5
界面布局 306
14.4
大神解惑 308
14.5
跟我学上机 308
第15章 网络开发 309
15.1
网络通信 310
15.1.1
网络通信的两种形式 310
15.1.2
TCP协议基础 310
15.1.3
TCP简单通信 311
15.1.4
使用多线程进行通信 311
15.2
使用URL访问网络资源 316
15.2.1
使用URL读取网络资源 317
15.2.2
使用URLconnection提交
请求 319
15.3
JSON数据 325
15.3.1
JSON语法 325
15.3.2
JSON和XML的比较 326
15.4
构造与解析JSON数据 328
15.5
大神解惑 331
15.6
跟我学上机 331
第16章 精通地图定位 333
16.1
引入地图 334
16.1.1
下载百度地图SDK 334
16.1.2
创建百度应用 335
16.1.3
将百度SDK加入工程 338
16.2
地图开发 340
16.2.1
实例显示百度地图 340
16.2.2
定位到自己 341
16.2.3
实现方向跟随 344
16.3
辅助功能 346
16.3.1
模式切换 346
16.3.2
地图切换 348
16.4
大神解惑 349
16.5
跟我学上机 350
第17章 Android碎片开发 351
17.1
Fragment实现 352
17.1.1
Fragment概述 352
17.1.2
静态实现Fragment 354
17.1.3
动态实现Fragment 356
17.2
Fragment与Activity 360
17.2.1
Fragment的生命周期 360
17.2.2
Activity向Fragment传值 364
17.2.3
Fragment向Activity传值 365
17.2.4
Fragment与Fragment之间的
传值 367
17.3
Fragment的两个子类 369
17.3.1
ListFragment 369
17.3.2
DialogFragment 370
17.4
大神解惑 372
17.5
跟我学上机 372
第18章 Android开发的技巧与调试 373
18.1
快捷键的使用 374
18.1.1
Log类快捷键 374
18.1.2
开发快捷键 375
18.2
调试技巧 382
18.2.1
断点设置 382
18.2.2
其他调试技巧 384
18.3
DDMS的功能和使用 386
18.4
大神解惑 388
18.5
跟我学上机 388
第4篇 项目开发实战
第19章 项目实训1——开发俄罗斯 方块 391
19.1
开发背景 392
19.2
游戏原理 392
19.2.1
组成单元 392
19.2.2
运动原理 394
19.3
创建项目 394
19.3.1
开发环境需求 395
19.3.2
创建新项目 395
19.4
数据存储类 396
19.4.1
数据存储 396
19.4.2
数据初始化 397
19.4.3
获取方块下标 398
19.5
控制类 398
19.5.1
编写控制类 399
19.5.2
加载方块 399
19.5.3
是否可移动算法 400
19.5.4
定时下降算法 401
19.5.5
是否可消行算法 402
19.5.6
方块触底算法 403
19.5.7
速降算法 403
19.5.8
方向控制算法 404
19.5.9
变形算法 404
19.6
界面绘制类 406
19.6.1
编写界面绘制类 406
19.6.2
界面绘制 407
19.6.3
界面布局 409
19.7
项目总结 411
第20章 项目实训2——开发股票 操盘手 413
20.1
系统功能设计 414
20.2
创建项目 414
20.2.1
开发环境需求 414
20.2.2
创建新项目 414
20.3
欢迎界面设置 415
20.3.1
欢迎界面布局 415
20.3.2
欢迎界面逻辑设置 416
20.4
功能界面设置 417
20.4.1
主界面逻辑 417
20.4.2
界面中的格栅类 420
20.4.3
触碰位置判断 421
20.4.4
绘制经线 421
20.4.5
绘制纬线 422
20.4.6
分时界面 422
20.5
K线界面设置 427
20.5.1
成交蜡烛图 427
20.5.2
绘制详细信息 428
20.5.3
绘制参考信息 430
20.6
项目总结 432
第21章 项目实训3——开发考试系统 433
21.1
系统功能设计 434
21.2
创建项目 434
21.2.1
开发环境需求 434
21.2.2
创建新项目 434
21.3
欢迎界面设置 435
21.3.1
欢迎界面布局 435
21.3.2
欢迎界面逻辑处理 436
21.4
部分类的封装 438
21.4.1
数据库类 438
21.4.2
窗口类 439
21.4.3
文件类 440
21.5
主界面与跳转页面 441
21.5.1
主界面 441
21.5.2
答题界面 445
21.5.3
题目类 446
21.5.4
查看答案 447
21.5.5
编号选题 448
21.5.6
收藏题目 449
21.6
数据库相关操作 449
21.7
项目总结 450
第22章 项目实训4——开发网上商城 451
22.1
系统功能设计 452
22.2
创建项目 452
22.2.1
开发环境需求 452
22.2.2
创建新项目 452
22.3
欢迎界面 453
22.3.1
欢迎界面布局 453
22.3.2
欢迎界面逻辑 454
22.4
主界面 454
22.4.1
界面分类跳转 455
22.4.2
搜索页面 456
22.4.3
广告轮播 456
22.4.4
拍照按钮 457
22.5
搜索页面 457
22.6
分类页面 458
22.6.1
分类数据存储 458
22.6.2
分类数据显示 459
22.7
购物车页面 460
22.8
用户信息页面 461
22.8.1
跳转不同页面 461
22.8.2
账号登录页面 462
22.8.3
退出弹窗 463
22.8.4
更多信息 464
22.9
自定义伸缩类 464
22.9.1
成员变量 465
22.9.2
触摸事件 465
22.9.3
回缩动画 466
22.10
项目总结 467
前 言
“软件开发案例课堂”系列图书是专门为软件开发和数据库初学者量身定做的一套学习用书,整套书具有以下特点。
前沿科技
无论是软件开发还是数据库设计,我们都精选较为前沿或者用户群较大的领域推进,帮助大家认识和了解最新动态。
权威的作者团队
组织国家重点实验室和资深应用专家联手编著该套图书,融合丰富的教学经验与优秀的管理理念。
学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度,提升学习效率。
为什么要写这样一本书
Android平台由互联网与社会信息科技的领袖Google公司开发,由于其开放性和自由性,以及App商店商业模式带来的巨大活力,出现了一大批热爱和追随Android平台的开发人员和设计人员。目前学习和关注Android的人越来越多,而很多Android的初学者都苦于找不到一本通俗易懂、容易入门和案例实用的参考书。通过本书的案例实训,可以很快地上手流行的工具,提高职业化能力,并有助于帮助解决公司与学生的双重需求问题。
本书特色
* 零基础、入门级的讲解
无论您是否从事计算机相关行业,无论您是否接触过Android移动开发,都能从本书中找到最佳起点。
* 超多、实用、专业的范例和项目
本书在编排上紧密结合深入学习Android移动开发技术的先后过程,从Android移动开发的环境搭建开始,带领大家逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者学习起来简明轻松,操作起来有章可循。
* 随时检测自己的学习成果
每章首页均提供了“本章要点”,以指导读者重点学习及学后检查。
大部分章节最后的“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
* 细致入微、贴心提示
本书在讲解过程中,使用了“注意”和“提示”等小栏目,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
* 专业创作团队和技术支持
您在学习过程中遇到任何问题,均可加入QQ群(案例课堂VIP)进行提问,专业人员会在线答疑。
超值赠送资源
* 全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的开发过程及技术关键点。比看书更能轻松地掌握书中所有的Java编程语言知识,而且扩展的讲解部分使您能得到比书中更多的收获。
* 超多容量王牌资源大放送
赠送大量王牌资源,包括本书实例源文件、精美教学幻灯片、精选本书教学视频、16个经典项目开发完整源码、Android开发疑难问题解答、Android常见错误及解决方案、Android系统开发常用类查询、Android移动开发工程师面试题、Android项目开发经验及技巧大汇总等。读者可以通过清华大学官网本书页面获取下载资源。
读者对象
* 没有任何Android开发基础的初学者。
* 有一定的Java编程基础,想精通Android移动开发的人员。
* 有一定的Android移动开发基础,没有项目开发经验的人员。
* 正在进行毕业设计的学生。
* 大专院校及培训学校的老师和学生。
创作团队
本书由刘玉红、蒲娟编著,参加编写的人员还有李玉阳、王斌、赵建军、靳伟杰、谭小艳、闫川华、赵志霞、王佰成、李国离、苏双喜、马天宇、丁远征、杨文建、李茂有、靳燕霞、陈孟毫、胡秀芳、李鑫、王湖芳、刘玉萍、胡同夫、裴雨龙、付红、王攀登、孙若淞、包慧利、梁云梁和周浩浩。本书在编写过程中,我们尽所能地将最好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。
编 者
3.1.2
相对布局
通过名字就可以知道,RelativeLayout(相对布局)管理器,是需要有一个参考对象来进行布局的管理器。所以首先要有一个参考的组件,例如参考桌面的顶端、左侧、右侧、底部等。下面通过实例来演示如何进行布局,以及它都有哪些属性。
相对布局语法格式如下:
属性列表
在上面的语法中,为起始标记,为结束标记,起始标记后面的语句是固定格式为XML命名空间的属性。
在Android中,任何一种布局都可以通过两种方式来实现:一种是XML,另一种是Java代码。
RelativeLayout有以下两个重要的属性。
? gravity:用于设置布局中的各个控件的对齐方式。
? ignoreGravity:用于分离gravity属性的控制。
仅仅这两个属性是不够的,所以RelativeLayout提供了一个内部类RelativeLayout.LayoutParams,通过这个内部类可以更好地控制界面中的各个控件。
RelativeLayout布局控制器有以下几类属性,支持常用XML属性。
(1) 以布局管理器作为参考的属性。
? layout_alignParentTop:布局管理器的顶部对齐。
? layout_alignParentBottom:布局管理器的底部对齐。
? layout_alignParentLeft:布局管理器的左对齐。
? layout_alignParentStart:新加入的属性也是左对齐。
? layout_alignParentRight:布局管理器的右对齐。
? layout_alignParentEnd:新加入的属性也是右对齐。
? layout_centerVertical:布局管理器垂直居中。
? layout_centerHorizontal:布局管理器水平居中。
? layout_centerInParent:布局管理器的中心位置。
以布局管理器作为参考进行定位示意图如图3-9所示。
图3-9 以管理器作为参考
(2) 以其他组件作为参考的属性。
? layout_toLeftOf:参考组件的左边。
? layout_toStartOf:新加属性同上。
? layout_toRightOf:参考组件的右边。
? layout_toEndOf:新加属性同上。
? layout_above:参考组件的上方。
? layout_below:参考组件的下方。
? layout_alignLeft:参考组件的左边界对齐。
? layout_alignStart:新加属性同上。
? layout_alignRight:参考组件的右边界对齐。
? layout_alignEnd:新加属性同上。
? layout_alignTop:参考组件的上边界对齐。
? layout_alignBottom:参考组件的下边界对齐。
(3) 设置组件在布局管理器中上下左右的偏移量。
? layout_margin:设置组件在布局管理器中的偏移量。
? layout_marginTop:设置与布局管理器顶端的偏移量。
? layout_marginBottom:设置与布局管理器底端的偏移量。
? layout_marginLeft:设置与布局管理器左边的偏移量。
? layout_marginStart:同上。
? layout_marginRight:设置与布局管理器右边的偏移量。
? layout_marginEnd:同上。
? layout_marginHorizontal:设置与布局管理器水平的偏移量。
? layout_marginVertical:设置与布局管理器垂直的偏移量。
(4) 设置组件内容与组件边框的填充量。
? padding:内部元素的上下左右进行填充。
? paddingTop:顶部填充。
? paddingBottom:底部填充。
? paddingLeft:左边距填充。
? paddingStart:同上。
? paddingRight:右边距填充。
? paddingEnd:同上。
? paddingHorizontal:水平填充。
? paddingVertical:垂直填充。
下面通过一个实例,演示如何使用相对布局管理器。
【例3-2】相对布局管理器实例。
在Android
Studio中,选择File→New→New Module菜单命令,在弹出的对话框中选择Phone & Tablet Module模块,如图3-10所示。
单击Next按钮,在弹出的对话框的Application/Library
name文本框中,输入“RelativeLayout”,如图3-11所示。
图3-10 创建新的模块
图3-11 输入应用名称
选择一个空的模板,如图3-12所示,单击Next按钮。
单击Finish按钮完成模块创建,如图3-13所示。
图3-12 选择空的模板
图3-13 完成模块创建
在工程目录中,选择relativelayout工程,打开res文件夹,选择layout文件夹下的activity_main.xml文件,如图3-14所示。
双击打开布局文件,加入如下代码:
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=”com.example.relativelayout.MainActivity”>
android:id=”@ id/Btn1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerInParent=”true”
android:text=”第一个按钮”
android:textColor=”#ff0000″ />
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerInParent=”true”
android:layout_toLeftOf=”@id/Btn1″
android:text=”第二个按钮”
android:textColor=”#00ff00″ />
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerInParent=”true”
android:layout_toRightOf=”@id/Btn1″
android:text=”第三个按钮”
android:textColor=”#0000ff” />
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_above=”@id/Btn1″
android:layout_centerHorizontal=”true”
android:text=”第四个按钮”
android:textColor=”#225522″ />
android:id=”@ id/Btn2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignParentBottom=”true”
android:text=”第五个按钮”
android:textColor=”#995599″ />
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignParentBottom=”true”
android:layout_toRightOf=”@id/Btn2″
android:text=”第六个按钮”
android:textColor=”#553300″ />
上面的代码中,创建了六个按钮,分别设置了不同的颜色,关于按钮的一些属性后面的章节还会重点讲解。第一个按钮设置在布局管理器的中间,第二个按钮在第一个按钮的左边,第三个按钮在第一个按钮的右边,第四个按钮位于第一个按钮的上面,第五个按钮位于底部,第六个按钮在第五个按钮的右边。
评论
还没有评论。