




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android开发实战经典第7章: Android中的基本控件(下) 计时器:Chronometer北京魔乐科技软件学院李兴华研发部本章目标掌握Chronometer组件的使用及操作;可以在手机开发中使用震动服务;E-MAIL:计时器计时器在生活之中应用很广泛,例如,在进行百米冲刺跑的时候,会使用计时器来计算每个运动员所消耗的时间,而在Android系统之中,这种计时的功能就可以使用Chronometer组件,此类的继承结构如下所示:java.lang.Object android.view.View android.widget.TextView android.w
2、idget.ChronometerE-MAIL:Chronometer类定义的常用方法E-MAIL:No.方法类型描述1public Chronometer(Context context)构造创建Chronometer对象2public long getBase()普通设置一个基准时间,可以通过完成3public void setFormat(String format)普通设置显示格式4public long getBase()普通返回设置的基准时间5public String getFormat()普通返回设置的显示格式6public
3、void start()普通开始计时7public void stop()普通停止计时8public void setOnChronometerTickListener (Chronometer.OnChronometerTickListener listener)普通设置计时改变的范例:计时操作E-MAIL:范例:在main.xml文件之中定义组件E-MAIL:此布局管理器高度为屏幕高度组件高度为显示高度组件高度为屏幕高度组件高度为文字高度组件高度为文字高度组件高度为文字高度组件高度为文字高度范例:定义Activity程序,操作计时器(A)
4、E-MAIL:package org.lxh.demo;import android.app.Activity; import android.os.Bundle; import android.os.SystemClock; import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Chronometer;public class MyChronometerDemo extends Activ
5、ity private Chronometer myChronometer = null;/ 计时组件private Button butStart = null;/ 按钮组件private Button butStop = null;/ 按钮组件private Button butBase = null;/ 按钮组件private Button butFormat = null;/ 按钮组件Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); super.setC
6、ontentView(R.layout.main);/ 调用默认布局管理器this.myChronometer = (Chronometer) super.findViewById(R.id.myChronometer);/ 取得组件this.butStart = (Button) super.findViewById(R.id.butStart);/ 取得组件this.butStop = (Button) super.findViewById(R.id.butStop);/ 取得组件this.butBase = (Button) super.findViewById(R.id.butBase
7、);/ 取得组件this.butFormat = (Button) super.findViewById(R.id.butFormat);/ 取得组件this.butStart.setOnClickListener(new OnClickListenerImplStart() ; / 设置this.butStop.setOnClickListener(new OnClickListenerImplStop() ;/ 设置this.butBase.setOnClickListener(new OnClickListenerImplBase() ;/ 设置this.butFormat.setOnC
8、lickListener(new OnClickListenerImplFormat() ;/ 设置范例:定义Activity程序,操作计时器(B)E-MAIL:private class OnClickListenerImplStart implements OnClickListener Overridepublic void onClick(View view) MyChronometerDemo.this.myChronometer.start() ;/ 开始计时private class OnClickListenerImplStop implements
9、OnClickListener Overridepublic void onClick(View view) MyChronometerDemo.this.myChronometer.stop() ;/ 结束计时private class OnClickListenerImplBase implements OnClickListener Overridepublic void onClick(View view) / 通过SystemClock类的elapsedRealtime()方法将其设置为当前时间(复位)MyChronometerDemo.this.myChronometer.setB
10、ase(SystemClock.elapsedRealtime();/ 复位private class OnClickListenerImplFormat implements OnClickListener Overridepublic void onClick(View view) MyChronometerDemo.this.myChronometer.setFormat(新的显示格式:%s。);/ 格式化Vibrator如果用户现在希望计时时间到达后(例如:1分钟)手机可以进行震动提示,则需要android.os.Vibrator类的支持E-MAIL:No.方
11、法类型描述1public void cancel()普通取消震动2public boolean hasVibrator()普通判断是否震动3public void vibrate(long pattern, int repeat)普通设置震动周期,如果repeat为-1则不循环震动4public void vibrate(long milliseconds)普通打开震动范例:使用震动服务E-MAIL:范例:定义布局管理器E-MAIL:布局管理器高度为屏幕高度 组件高度为自身高度布局管理器高度为剩余的屏幕高度组件高度为文字高度组件高度为文字高度
12、范例:定义Activity程序(A):package org.lxh.demo;import android.app.Activity; import android.app.Service; import android.os.Bundle; import android.os.SystemClock; import android.os.Vibrator; import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import and
13、roid.widget.Chronometer;import android.widget.Chronometer.OnChronometerTickListener;public class MyChronometerDemo extends Activity private Chronometer myChronometer = null;/ 计时组件private Button butStart = null;/ 按钮组件private Button butStop = null;/ 按钮组件private Vibrator vibrator = null ;/ 设置震动Override
14、public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);super.setContentView(R.layout.main);/ 调用默认布局管理器this.myChronometer = (Chronometer) super.findViewById(R.id.myChronometer);/ 取得组件this.vibrator = (Vibrator) super.getApplication().getSystemService(Service.VIBRATOR_SERVIC
15、E);/ 取得震动服务this.butStart = (Button) super.findViewById(R.id.butStart); / 取得组件this.butStop = (Button) super.findViewById(R.id.butStop);/ 取得组件this.butStart.setOnClickListener(new OnClickListenerImplStart() ;/ 设置this.butStop.setOnClickListener(new OnClickListenerImplStop() ;/ 设置this.myChronometer.setFo
16、rmat(当前计时时间:%s。);/ 格式化文本this.myChronometer.setOnChronometerTickListener(new OnChronometerTickListenerImpl();/ 设置E-MAIL范例:定义Activity程序(B)E-MAIL:private class OnChronometerTickListenerImpl implements OnChronometerTickListener Overridepublic void onChronometerTick(Chronometer chronometer)
17、String time = chronometer.getText().toString().replaceAll(d2:d2), );/ 取出时间if (01:00.equals(time) / 满一分钟MyChronometerDemo.this.vibrator.vibrate(new long 1000, 10,1000, 100 , 0);/ 设置震动周期,以及循环震动private class OnClickListenerImplStart implements OnClickListener Overridepublic void onClick(View view) MyChronometerDemo.this.myChronometer.start() ;/ 开始计时private class OnClickListenerImplStop implements OnClickListener Overridepublic void onClick(View view) MyChronometerDemo.this.myChronometer.stop() ;/ 结束计时MyChronometerDemo.this.myChronometer.setBase(SystemClock.el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 萌芽课题申报书模板
- 2025年银行从业资格证考试指南与试题答案
- 黑龙江伊春市本年度(2025)小学一年级数学统编版专题练习(上学期)试卷及答案
- 2025年股市波动的因素考题及答案
- 2025年特许金融分析师考试形势分析试题及答案
- 整体规划2025年证券从业考试试题及答案
- 2025年特许金融分析师考试利用经验有效备考试题及答案
- 微生物检验案例集锦试题及答案探讨
- 注册会计师考试相关法律与道德的教学方法探讨试题及答案
- 2025年注册会计师考试有效复习试题及答案
- 卫星网络管理与运维-深度研究
- 《某小区深基坑支护设计》8100字(论文)
- 意识哲学研究前沿-洞察分析
- (八省联考)四川省2025年高考综合改革适应性演练 化学试卷
- 2025年行政执法人员执法资格考试必考题库及答案(共232题)
- 2025版高考生物二轮复习课件 第一部分 专题四 争分点突破1 遗传的基本规律
- 注册计量师(一级)练习题库与答案
- DB32T 2947-2016 长江水下平顺抛石护岸施工规范
- 国开(四川)2024年秋《地域文化》形考任务1-2答案终结性考核答案
- 私人放贷合同模板
- 矿采量子技术突破
评论
0/150
提交评论