android studio 秒表实现
时间: 2024-12-07 15:12:54 浏览: 22
在Android Studio中实现秒表功能,你可以通过以下步骤来创建:
1. **创建布局**:首先,在`activity_main.xml`中添加两个TextView用于显示时间(起始时间和结束时间),以及一个Button用于开始、暂停和重置计时。
```xml
<Button
android:id="@+id/start_stop_button"
android:text="Start"
/>
<TextView
android:id="@+id/start_time_textview"
android:text="00:00:00"
/>
<TextView
android:id="@+id/end_time_textview"
android:text="00:00:00"
/>
```
2. **设置UI监听**:在Activity中,为按钮设置点击事件监听器,并初始化一个CountDownTimer变量来处理计时。
```java
private CountDownTimer timer;
private long startTime;
private TextView startTimeTextView, endTimeTextView;
startStopButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (timer != null && !timer.isRunning()) {
// 开始计时
startTime = System.currentTimeMillis();
timer.start();
startStopButton.setText("Stop");
} else {
// 结束计时并停止计时器
if (timer != null) {
timer.cancel();
long elapsedTime = System.currentTimeMillis() - startTime;
String elapsedTimeStr = formatTime(elapsedTime);
endTimeTextView.setText(elapsedTimeStr);
timer = null;
startStopButton.setText("Start");
}
}
}
});
```
3. **格式化时间**:创建一个辅助方法`formatTime(long time)`,将毫秒转换为HH:mm:ss格式的时间字符串。
```java
private String formatTime(long milliseconds) {
int seconds = (int) (milliseconds % 1000 / 1000);
int minutes = (int) ((milliseconds % (1000 * 60)) / 1000);
int hours = (int) ((milliseconds % (1000 * 3600)) / (1000 * 60));
return String.format("%02d:%02d:%02d", hours, minutes, seconds);
}
```
4. **额外功能**:为了提供重置秒表的功能,可以在其他地方再添加一个按钮,点击时清除时间和重新开始计时。
```java
resetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 清除时间并重新开始计时
startTimeTextView.setText("00:00:00");
endTimeTextView.setText("00:00:00");
timer = new CountDownTimer(0, 1000) {
// 仅示例,实际应用中可能需要考虑更多细节如是否重置计时器状态等
@Override
public void onFinish() {
timer = null;
startStopButton.setText("Start");
}
@Override
public void onTick(long l) {}
}.start();
}
});
```
阅读全文
相关推荐



















