首页 > 代码库 > android之Chronometer
android之Chronometer
首先定义activity_main.xml文件
代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Chronometer android:id="@+id/myChronometer" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/butStart" android:text="开始计时" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button android:id="@+id/butStop" android:text="停止计时" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout></LinearLayout>
然后改写MainActivity类
代码如下:
package com.example.myclock;import android.os.Bundle;import android.os.SystemClock;import android.os.Vibrator;import android.app.Activity;import android.app.Service;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Chronometer;import android.widget.Chronometer.OnChronometerTickListener;public class MainActivity extends Activity { private Chronometer myChronometer = null; private Button butStart = null; private Button butStop = null; private Vibrator vibrator = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.myChronometer = (Chronometer)super.findViewById(R.id.myChronometer); this.vibrator = (Vibrator)super.getApplication().getSystemService(Service.VIBRATOR_SERVICE); this.butStart = (Button)super.findViewById(R.id.butStart); this.butStop = (Button)super.findViewById(R.id.butStop); this.butStart.setOnClickListener(new OnClickListenerlmplStart()); this.butStop.setOnClickListener(new OnClickListenerlmplStop()); this.myChronometer.setFormat("当前计时时间:%s。"); this.myChronometer.setOnChronometerTickListener(new OnChronometerTickListenerlmpl()); } private class OnChronometerTickListenerlmpl implements OnChronometerTickListener{ public void onChronometerTick(Chronometer chronometer){ String time = chronometer.getText().toString().replaceAll("[^(\\d{2}:\\d{2})]", ""); if("01:00".equals(time)){ MainActivity.this.vibrator.vibrate(new long[]{1000,10,1000,100},0); } } } private class OnClickListenerlmplStart implements OnClickListener{ public void onClick(View view){ MainActivity.this.myChronometer.start(); } } private class OnClickListenerlmplStop implements OnClickListener{ public void onClick(View view){ MainActivity.this.myChronometer.stop(); MainActivity.this.myChronometer.setBase(SystemClock.elapsedRealtime()); MainActivity.this.vibrator.cancel(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
最后改写AndroidMainfest.xml文件
代码如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myclock" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.VIBRATE"/></manifest>
运行效果如下图:
android之Chronometer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。