Android实现简易秒表功能
本文实例为大家分享了android实现秒表功能的具体代码,供大家参考,具体内容如下

今天为了给师弟们讲安卓,花了10分钟写了一个简易的秒表app,现贴出代码,供各位刚入门以及还未入门的同学们参考
第一步:布局activity_main.xml:
<relativelayout 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:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <relativelayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerinparent="true" > <linearlayout android:id="@+id/top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:orientation="horizontal" > <textview android:id="@+id/mint" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00" android:textsize="30dp" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=":" android:textsize="30dp" /> <textview android:id="@+id/sec" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00" android:textsize="30dp" /> </linearlayout> <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/top" android:layout_centerhorizontal="true" android:orientation="horizontal" > <button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="start" /> <button android:id="@+id/reset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="reset" /> </linearlayout> </relativelayout> </relativelayout>
第二步:实现秒表功能
package com.example.second;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.app.activity;
import android.view.menu;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.button;
import android.widget.textview;
public class mainactivity extends activity {
private textview mint;
private textview sec;
private button start;
private button reset;
private long timeusedinsec;
private boolean isstop = false;
private handler mhandler = new handler() {
/*
* edit by yuanjingchao 2014-08-04 19:10
*/
@override
public void handlemessage(message msg) {
// todo auto-generated method stub
super.handlemessage(msg);
switch (msg.what) {
case 1:
// 添加更新ui的代码
if (!isstop) {
updateview();
mhandler.sendemptymessagedelayed(1, 1000);
}
break;
case 0:
break;
}
}
};
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
initviews();
}
private void initviews() {
mint = (textview) findviewbyid(r.id.mint);
sec = (textview) findviewbyid(r.id.sec);
reset = (button) findviewbyid(r.id.reset);
start = (button) findviewbyid(r.id.start);
reset.setonclicklistener(new onclicklistener() {
@override
public void onclick(view arg0) {
// todo auto-generated method stub
mint.settext("00");
sec.settext("00");
start.settext("start");
timeusedinsec=0;
isstop=true;
}
});
start.setonclicklistener(new onclicklistener() {
@override
public void onclick(view arg0) {
// todo auto-generated method stub
mhandler.removemessages(1);
string aaa=start.gettext().tostring();
if(aaa.equals("start")){
mhandler.sendemptymessage(1);
isstop = false;
start.settext("pause");
}else {
mhandler.sendemptymessage(0);
isstop = true;
start.settext("start");
}
}
});
}
private void updateview() {
timeusedinsec += 1;
int minute = (int) (timeusedinsec / 60)%60;
int second = (int) (timeusedinsec % 60);
if (minute < 10)
mint.settext("0" + minute);
else
mint.settext("" + minute);
if (second < 10)
sec.settext("0" + second);
else
sec.settext("" + second);
}
}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
看完文章,还可以扫描下面的二维码下载快手极速版领4元红包
除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。
邀请两个好友奖最高196元,如下图所示:







