概述
Android开发实现计时器
布局为3个按钮和一个Chronometer
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center_horizontal">
<Chronometer
android:id="@+id/test"
android:textSize="25pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始"
android:layout_weight="1"/>
<Button
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"
android:layout_weight="1"/>
<Button
android:id="@+id/go_on"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="继续"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
MainActivity里设置一个计时器对象,三个按钮对象和四个监听事件
package com.example.timeclock;
import android.app.Activity;
import android.os.SystemClock;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
public class MainActivity extends Activity {
Chronometer ch ;
Button start ;
Button pause ;
Button restart ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取计时器组件
ch = (Chronometer) findViewById(R.id.test);
//获取开始按钮
start = (Button) findViewById(R.id.start) ;
//暂停计时按钮
pause = (Button) findViewById(R.id.pause);
//继续计时按钮
restart = (Button) findViewById(R.id.go_on);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime() );
//启动计时器
ch.start();
pause.setEnabled(true);
restart.setEnabled(false);
start.setEnabled(false);
}
});
//暂停按钮监听器
pause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
start.setText("重新开始");
ch.stop();
start.setEnabled(true);
restart.setEnabled(true);
pause.setEnabled(false);
}
});
//暂停按钮监听器
restart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
start.setText("重新开始");
ch.start();
start.setEnabled(true);
pause.setEnabled(true);
restart.setEnabled(false);
}
});
//为Chronomter绑定事件监听器
ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
//如果计时到现在超过了一小时秒
if ( SystemClock.elapsedRealtime() - ch.getBase() > 3600 * 1000) {
ch.stop();
start.setEnabled(true);
restart.setEnabled(false);
pause.setEnabled(false);
}
}
});
}
}
效果图:
最后
以上就是柔弱故事为你收集整理的Android开发实现计时器的全部内容,希望文章能够帮你解决Android开发实现计时器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复