以下是一个示例代码,展示了如何在Android SDK中创建一个包含重置和暂停功能的秒表应用程序:
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView timerTextView;
private Button startButton;
private Button resetButton;
private boolean isRunning;
private int seconds;
private final Handler handler = new Handler();
private final Runnable runnable = new Runnable() {
@Override
public void run() {
updateTimer();
handler.postDelayed(this, 1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timerTextView = findViewById(R.id.timerTextView);
startButton = findViewById(R.id.startButton);
resetButton = findViewById(R.id.resetButton);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isRunning) {
pauseTimer();
} else {
startTimer();
}
}
});
resetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetTimer();
}
});
}
private void startTimer() {
isRunning = true;
startButton.setText("暂停");
handler.post(runnable);
}
private void pauseTimer() {
isRunning = false;
startButton.setText("开始");
handler.removeCallbacks(runnable);
}
private void resetTimer() {
isRunning = false;
startButton.setText("开始");
handler.removeCallbacks(runnable);
seconds = 0;
updateTimer();
}
private void updateTimer() {
int minutes = seconds / 60;
int remainingSeconds = seconds % 60;
String time = String.format("%02d:%02d", minutes, remainingSeconds);
timerTextView.setText(time);
seconds++;
}
}
上述代码中,我们使用了一个Handler
来处理定时任务,每隔1秒更新一次计时器。当用户点击开始按钮时,会调用startTimer()
方法开始计时,并将按钮文本改为"暂停";当用户点击暂停按钮时,会调用pauseTimer()
方法暂停计时,并将按钮文本改为"开始";当用户点击重置按钮时,会调用resetTimer()
方法重置计时器,并将按钮文本改为"开始"。updateTimer()
方法用于更新计时器的显示。
在布局文件(activity_main.xml)中,我们可以添加以下组件来实现界面:
以上代码片段定义了一个TextView
来显示计时器的时间,以及两个Button
分别用于开始和重置计时器。
这个示例应用程序允许用户同时重置和暂停秒表,通过点击按钮可以切换计时器的状态。