0207_android中的基本控件下020713_计时器chronometer_第1页
0207_android中的基本控件下020713_计时器chronometer_第2页
0207_android中的基本控件下020713_计时器chronometer_第3页
0207_android中的基本控件下020713_计时器chronometer_第4页
0207_android中的基本控件下020713_计时器chronometer_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论