Android - 计时器

来源:互联网 发布:护考软件排行 编辑:程序博客网 时间:2024/05/28 23:21


public class MainActivity extends Activity implements OnClickListener,OnChronometerTickListener{private Chronometer myChronometer;  //定义计时器组件Chronometerprivate Button startBtn;private Button stopBtn;private Button exitBtn;private Button stopVibratorBtn;private Vibrator vibrator;  //定义震动操作@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//取得震动服务vibrator = (Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);  myChronometer = (Chronometer) findViewById(R.id.myChronometer);//设置myChronometer的输出内容,其中%s为 MM:SS 格式。myChronometer.setFormat("累计计时时间: %s");  //设置myChronometer的计时监听myChronometer.setOnChronometerTickListener(this);startBtn = (Button) findViewById(R.id.startBtn);stopBtn = (Button) findViewById(R.id.stopBtn);stopVibratorBtn = (Button) findViewById(R.id.stopVibratorBtn);exitBtn = (Button) findViewById(R.id.exitBtn);startBtn.setOnClickListener(this);stopBtn.setOnClickListener(this);stopVibratorBtn.setOnClickListener(this);exitBtn.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.startBtn:myChronometer.start();  //开始计时break;case R.id.stopBtn:myChronometer.stop();  //停止计时break;case R.id.stopVibratorBtn:vibrator.cancel();  //停止震动break;case R.id.exitBtn:finish();  //退出程序break;default:break;}}@Overridepublic void onChronometerTick(Chronometer chronometer) {//replaceAll("[^(\\d{2}:\\d{2})]", ""):将字符串time中,不符合 XX:XX 的所有字符替换为空。String time = chronometer.getText().toString().replaceAll("[^(\\d{2}:\\d{2})]", "");if(time.equals("00:05")){//第一个参数设置震动模式:等待1s震动0.1S,再等待0.1S震动0.1S。//第二个参数:0代表重复震动,-1代表不重复震动。vibrator.vibrate(new long[] {1000, 100, 100, 100}, 0);}}}


<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <Chronometer        android:id="@+id/myChronometer"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />        <LinearLayout         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >                <Button         android:id="@+id/startBtn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="开始" />    <Button         android:id="@+id/stopBtn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="停止" />    <Button         android:id="@+id/stopVibratorBtn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="停止震动" />     <Button         android:id="@+id/exitBtn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="退出" />            </LinearLayout>    </LinearLayout>


<uses-permission android:name="android.permission.VIBRATE"/>



0 0
原创粉丝点击