第4章 闪烁霓虹灯--层布局的应用 授课老师:高成珍 QQ号: QQ群: 、

Slides:



Advertisements
Similar presentations
项目四 网店推广与营销 4.1 店内推广与营销. 教学目的: 通过本节内容的学习,帮助学生了解消费者保障服务分类,理解店内活动是运 营店铺时不可缺少的一些营销活动。 知识要求: 1. 了解申请加入消费者保障服务项目的条件 2. 了解店内活动如满就送、限时打折、搭配套餐、优惠券的设置 技能目标: 1.
Advertisements

广西 2014 年 “ 区培计划 ” 学前教育远程培 训 总结简报 南宁马山县幼教 1 班 莫毅.
中职教师省级网络培训 使用说明 南京中华中等专业学校教研处 平台登陆 登录 (江苏教师教育) 在页面右侧找到登录框,填写用户名、密码进入系统.
学年 江西省教师全员远程培训指南. 培训学习及考核时间安排 学习时间: 2013 年 10 月 年 1 月 15 日 考核时间: 2014 年 3 月 1 日 年 3 月 30 日.
-- 八 (19) 班第二学期期中家长会 、关于期中考试 2 、关于班级常规活动 3 、关于会考、体育 4 、关于自主招生 5 、给家长的一些建议.
山东理工大学成人高等教育 新生入学指南. 如何获悉学院的通知公告等? 1. 网站。所有的通知公告等都通过远程与继 续教育学院网站 发布, 同学们应每周登录 “ 学生工作室 ” 或 “ 函授教育 ” 关注是否有新的通知公告。
财务处目前共有 50 人,其中事业编 32 人,非事业编 18 人。分为 6 个科室,分别是会计核算科、资金结算中心、综合管理科、预算管理科、 基建财务科和一卡通中心。 会计核算科主要业务为收入入账、费用报销审核等。 资金结算中心主要业务为资金收付、开具发票、学费管理。 综合管理科主要业务是工资及住房公积金管理、税务管理、收费项目.
房地产法 主讲教师:龙慧峰 QQ: 电话: 法律实质上既是物质的又是意识形态的这一 事实是与以下事实相联系的:法律既是从 整个社会的结构和习惯自上而下发展而来, 又是从社会中的统治阶级们的政策和价值 中自上而下移动。 —— 【美】伯尔曼《法律与革命》
某中学一青少年因迷上网络游戏,视力由1. 2下降到0
加强工作室资源建设 提升网络辐射影响力 林月周工作室
凉山州2011级一诊考试情况分析 暨后期复习建议 四川省凉山州教育科学研究所 谌业锋.
发挥学科优势 打造“互联网+”党建工作模式
《凉山州中长期教育改革和发展规划纲要》( 年)解读 (讲座幻灯课件请在网上下载,让我们一起思考!)
坚持群众路线 做到“三严三实” 内蒙古直属机关工委党校 裴聚斌 电话:
新所得税申报表如何填写 注册税务师 注册会计师 高级会计师 注册资产评估师 注册土地估价师 注册房地产估价师 主讲人:林溪发
我的未来,我做主之 坚持不懈,直到成功。 电话: QQ: 时间:2013年5月27日 肖亚平.
(讲座幻灯课件请在网上下载,让我们一起思考!)
自读高晓声的小说 《陈奂生上城》 写一篇800以上的感悟文章.
2012江西(九江吉安)事业单位 公共基础知识 备考指导 主讲:罗红军 qq: 新浪微博:罗红军的微博
幼儿园环境创设 成智客服QQ:
工作中的九型人格 主讲嘉宾:梁旭 ---九型人格应用系列课程 介绍自己 有多少听过九型 课程纪律 课程时间 工作中的九型人格
客 家 仙 草 台北縣中和市秀山國民小學 五 年 十 班 王 靖 婷.
上海培训班交流材料 顶岗实习考核评价体系研究 辽宁建筑职业技术学院  孙玉红 2010年6月.
计算机基础知识 陈嘉明 玉溪农业职业技术学院.
凝心聚力 弘扬宣传思想工作正能量 ——2015年工委宣传部上半年工作总结.
教体系统“两学一做”辅导报告.
党员服务站宣传册 党站宗旨: 主导精神: 全心全意为同学服务 踏踏实实树党员形象 以人为本 服务为重
一切为了孩子 为了孩子的一切 港中数学网 收集整理 —八(1)班家长会.
(讲座幻灯课件请在网上下载,让我们一起思考!)
网络研修天地 我与名师同行 ——襄阳高新区小学数学班简报 编辑:王继锋.
第一章 总论(承前) 主要内容: 1.简单介绍了会计的产生的和发展
关于“人肉搜索”的滥用及其所引发的 “网络暴力”的道德与法律思考
港澳高校调研学习汇报 心理健康教育专题.
2010年个人岗位 精细化管理方案 鸡西大学继续教育部 刘欣悦.
大学生意外事故处理与应对.
资产评估实务 财经学院 童彦成 电话: QQ:
让爱住紫荆 教师师德培训.
长沙神来福小吃培训 1.特色小吃培训 2.特色餐饮培训 3.家常菜培训 4.这种馅饼培训 5.特色面条培训 6.长沙臭豆腐培训 7.早餐培训
2011年梅州市高(完)中校长任职资格培训班 领导、校长莅临指导! 热烈欢迎.
我的母亲 老舍. 我的母亲 老舍 关于作者和写作背景 老舍是中国饮誉世界的小说家、戏剧家,是一位文化巨匠,一位语言艺术大师。  关于作者和写作背景   老舍(1899~1966)满族,原名舒庆春,字舍予,生于北京。 老舍是中国饮誉世界的小说家、戏剧家,是一位文化巨匠,一位语言艺术大师。
责任 感恩 安全 开学第一课 广西柳州市柳东新区雒容镇盘古小学王秀娅 QQ:
校园信息管理系统 河北科技大学网络中心 2000/4/10.
第十五章 中国特色社会主义事业的领导核心 王晓莹.
教育部—2011 “知行中国”—初中班主任教师培训项目
2010年个人岗位 精细化管理方案 鸡西大学继续教育部 王和鑫.
余国良简介 全国中等职业学校德育教育先进工作者 中国教师发展协会中职师资培训讲师、研究员 北师大教师培训中心特聘讲师
交易早餐-金融品 2017年3月11日 徽商期货研究所.
(讲座幻灯课件请在网上下载,让我们一起思考!)
北京科技政策法规宣讲团介绍 成立背景: 工作愿景——“两个有”
关于山西省高职高专院校人才培养工作水平评估指标的说明
我们的“高效课堂” 中国教师报李炳亭 2015.
(讲座幻灯课件请在网上下载,让我们一起思考!)
有章有法信心足 一鼓作气备中考 主讲人 刘国良
浅 议 司 法 站 在 法 治 文 化 建 设 中 的 基 础 作 用 方巷镇司法所 季金秋.
四資二甲 第三週作業 物件導向程式設計.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
在线沟通工具 6.1 在线接待工具 第6章 网店工具的运用
Android + Service 建國科技大學 資管系 饒瑞佶.
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
Android五大布局 线性布局/相对布局.
微信商城系统操作说明 色卡会智能门店.
Review 1~3.
第二章 Java基本语法 讲师:复凡.
Java程序设计 第17章 异常和断言.
第二章 Java基本语法 讲师:复凡.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
變數、資料型態、運算子.
布局管理器 本讲大纲: 1、线性布局 2、表格布局 3、帧布局 4、相对布局 5、范例1:使用表格布局与线性布局实现分类工具栏
Presentation transcript:

第4章 闪烁霓虹灯--层布局的应用 授课老师:高成珍 QQ号:1281147324 QQ群:287966120、314753495 网络资源:http://10lab.cn/case/resource.html

本章案例效果分析

相对布局 相对布局,顾名思义就是相对于某个参照物来确定自己的位置,由RelativeLayout类表示。每个控件的位置可通过它相对于参照物的方位以及对齐方式两方面信息来确定。 这种布局的关键是找到一个合适的参照物,通常参照物可分为两类:具体的某个控件或父容器。由于控件的直接父容器只有一个,所有相对于父容器的方位与对齐关系时,取值只有两个true或false。而相对于某一控件时,是通过控件的id来唯一确定的,因此相关属性值为控件的Id。 如果甲控件的位置需要根据乙控件的位置来确定,那么要求先定义乙控件,并且为乙控件添加id属性,再定义甲控件。

相对布局 属性 说明 android:layout_centerInParent 设置该组件是否位于父容器的正中央位置 android:layout_alignParentTop 设置该组件是否与父容器顶端对齐 android:layout_alignParentBottom 设置该组件是否与父容器底端对齐 android:layout_ alignParentLeft 设置该组件是否与父容器左边对齐 android:layout_ alignParentRight 设置该组件是否与父容器右边对齐 android:layout_toRightOf 指定该组件位于给定的ID组件的右侧 android:layout_toLeftOf 指定该组件位于给定的ID组件的左侧 android:layout_above 指定该组件位于给定的ID组件的上方 android:layout_below 指定该组件位于给定的ID组件的下方 android:layout_alignTop 指定该组件与给定的ID组件的上边界对齐 android:layout_ alignBottom 指定该组件与给定的ID组件的下边界对齐 android:layout_ alignLeft 指定该组件与给定的ID组件的左边界对齐 android:layout_ alignRight 指定该组件与给定的ID组件的右边界对齐

层布局(FrameLayout) 层布局或者帧布局(FrameLayout)是指布局内的每个控件单独占一帧或一层,该层中未包含内容的部分将是透明的,控件之间是相互独立的。 控件添加的顺序即层叠加的次序,后面添加的控件会覆盖前面的控件,如果后添加的控件未能完全覆盖前面的控件,则未覆盖的部分将会显示。 层布局中控件的位置可通过android:layout_gravity属性进行设置。通过层布局能够很方便的实现多个控件叠加或者渐变的效果。 注意:由于层布局中每个控件单独占一层,也就是说层布局中各个控件之间不存在任何关系,即不能在层布局中,按比例分割屏幕。

定时器 定时器是指规定一定的时间间隔,时间到了再接着执行某些操作,主要用于重复执行具有周期性变化规律的操作。Android中通过Timer类来封装定时器,通过调用schedule()方法来执行重复性操作,该方法需要传递三个参数: 第一个参数为TimerTask对象,表示具体要执行的任务,TimerTask类自身是一个抽象类,包含一个抽象方法run(),不能直接实例化,必须创建一个该类的子类,实现其run()方法,run()方法用于执行具体的操作; 第二个参数为执行该操作延迟的时间,单位为毫秒; 第三个参数为执行该操作的周期,单位为毫秒。

Handler消息传递机制 Android界面控件所在的线程为主线程,并且界面控件是非线程安全的, 所谓的非线程安全,是指当多个线程对其进行操作时,可能导致数据的不 一致。为了保证数据的一致性,Android中明确规定,子线程无法更改主线 程中的界面控件。但在实际Android应用开发中,尤其是涉及动画的游戏开 发中,需要让新启动的线程周期性地改变界面控件的属性值,那如何实现 呢? 主线程能够对界面进行变化,但并不清楚应该什么时候去变化,子线程虽然想对界面进行变化,但自身又不能对其改变,这样就陷入一种矛盾之中。这时候就需要借助一定的中介使得二者进行交互。Android中的Handler消息传递机制就应运而生了。 7

Handler消息传递机制 所谓的消息传递即在子线程中执行一些耗时的操作或计时,当需要改变主线程中的界面控件时,则发送一条消息,主线程收到消息后,自己更改界面显示。即子线程发送消息,主线程处理消息,而发送和处理消息都是通过Handler对象来完成的。 方法签名 描 述 void handleMessage (Message msg) 通过该方法获取、处理消息 final boolean sendEmptyMessage (int what) 发送一个只含有what标记的空消息 final boolean sendMessage (Message msg) 发送消息到Handler,通过handleMessage()方法接收和处理 final boolean hasMessages (int what) 监测消息队列中是否包含标记为what的消息 final boolean post (Runnable r) 将一个线程添加到消息队列 8

Handler消息传递机制 Handler类主要有两个作用: 在新启动的线程中发送消息; 在主线程中获取、处理消息。 新启动的线程何时发送消息?主线程又如何去获取并处理消息呢? 子线程发送消息的目的是为了让主线程的界面发生相应的变化,因此当需要更改界面显示时,即可在子线程中发送消息。 为了让主线程能“适时”地处理新启动的线程所发送的消息,显然只能通过回调的方式来实现,即一旦发送消息,则自动回调Handler对象的处理消息的方法,只需重写该方法,根据消息的类型不同做不同的处理。 9

Handler消息传递机制 Handler消息传递程序开发步骤: 1、创建Handler类对象,并重写handleMessage()方法; 在Handler消息传递过程中,发送和处理消息的是同一个Handler对象,谁发送谁处理,由于需要在子线程中访问Handler对象,因此Handler对象必须是成员变量或者用final修饰的变量。 10

Message类 Message 消息类,该类用于封装消息的信息,包括消息的标记、内容等,主要有以下几个关键字段: ①what:消息的标记,int类型,该标记是由用户自由定义的,以便接收者确定该消息是什么,从而做出相应的处理; ②arg1和arg2:整型参数,这两个字段主要用于存放简单的整型数值,如果想存复杂的数据,可通过Message对象的setData()方法进行存储; ③obj:对象,Object类型,传递给接收者的任意类型的对象; ④replyTo:Messenger类型(信使),可选的,用于答复该消息能够被发送,具体如何用取决于发送者和接收者。 11

Message类 方法签名 描述 Message() 构造方法,推荐使用Message.Obtain() void copyFrom(Message o) 复制指定消息的内容 long getWhen() 获取消息发送的时间,单位为毫秒 Bundle getData() 获取消息中的数据 static Message obtain() 从消息池中获取一个消息 void setData (Bundle data) 向消息中写入数据 void setTarget(Handler target) 设置消息的目标对象 12

课后思考题 思考 请尝试用相对布局来实现本案例界面效果。 在原有界面基础上添加一个复选框,通过复选框可以 控制颜色块是否周期性发生变化。

思考与练习 本例使用Timer定时器来实现周期性改变控件背景功能,请尝试使用普通的线程来实现该功能。 在相对布局中,如果想让一个控件居中显示,则可设置该控件的( )。 A)android:gravity=“center” B)android:layout_gravity=“center” C)android:layout_centerInParent=“true” D)android :scaleType=“center” 相对布局中,下列属性的属性值只能为true或false的是( )。 A)android :layout_alignTop B)android :layout_alignParentTop C)android :layout_toLeftOf D)android:layout_above