728x90
안녕하세요
오늘은 CountDownTimer를 활용해서 간단한 타이머 기능을 구현해보겠습니다.
CountDownTimer를 사용하면 카운트할 시간과 호출간격만 입력하면 간편하게 타이머를 구현할 수 있습니다.
전체 코드입니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<TextView
android:id="@+id/tvTimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10"
android:textSize="30sp"
android:textStyle="bold"/>
<Button
android:id="@+id/btnStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="타이머 시작"
android:layout_marginTop="20dp"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private TextView tvTimer;
private Button btnStart;
private CountDownTimer countDownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvTimer = findViewById(R.id.tvTimer);
btnStart = findViewById(R.id.btnStart);
btnStart.setOnClickListener(v -> {
countDownTimer = new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
tvTimer.setText(String.valueOf(millisUntilFinished / 1000));
}
public void onFinish() {
tvTimer.setText("완료!");
}
}.start();
});
}
}
new CountDownTimer(long millisInFuture, long countDownInterval)
첫번째 매개변수에 카운트다운 할 총 시간을 밀리초 단위로 입력해주고,
두번째 매개변수에 onTick() 이 호출될 간격을 밀리초 단위로 입력해주시면 됩니다.
시연 영상입니다.
'안드로이드 자바' 카테고리의 다른 글
[Java][Android] MotionLayout 활용하기 (0) | 2025.04.01 |
---|---|
[Java][Android] ChipGroup에 Chip 동적 추가하기 (+ 버튼) (0) | 2025.03.30 |
[Java][Android] 다크모드 적용하기 (0) | 2025.03.18 |
[Java][Android] Toolbar 사용해 상단바 만들기 (0) | 2025.03.11 |
[Java][Android] TextClock 위젯 사용하기 (0) | 2025.03.04 |