📱 Crear un cronometro de cuenta regresiva en Android Studio [29]
En este tutorial vamos a Crear un cronometro de cuenta regresiva en Android Studio que cuente de un tiempo inicial a 0 y cuando llegue al final suene una alarma.
- Insertamos un EditText, un Button y un TextView.
- Al hacer click en el Button iniciara una cuenta regresiva que iniciara en los segundos puestos en el EditText y terminara en 0.
- Cuando llegue a 0 sonará una alarma.
Sintaxis:
Cronómetro
object : CountDownTimer(tiempoAtras,tiempoIntervaluo)
override fun onFinish()
override fun onTick(tiempoIntervaluo)
Alarma
val notif= RingtoneManager.getDefaultUri(tipoNotificacion)
val r=RingtoneManager.getRingtone(this@MainActivity,notif)
r.play()
package com.programadornovato.miprimerproyecto import android.content.DialogInterface import android.content.Intent import android.graphics.Bitmap import android.media.RingtoneManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.CountDownTimer import android.view.View import android.webkit.* import android.widget.* import androidx.appcompat.app.AlertDialog import java.math.BigDecimal import kotlin.math.PI import kotlin.math.round class MainActivity : AppCompatActivity() { private var txtTiempo:EditText?=null private var tvCuentaAtras:TextView?=null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) txtTiempo=findViewById(R.id.txtTiempo) tvCuentaAtras=findViewById(R.id.tvCuentaAtras) } fun play(view: View){ var tiempoSegundos=txtTiempo?.text.toString().toLong() var tiempoMilisegundos=tiempoSegundos*1000 object : CountDownTimer(tiempoMilisegundos,1000){ override fun onFinish() { val notificacion=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE) val r=RingtoneManager.getRingtone(this@MainActivity,notificacion) r.play() this.cancel() } override fun onTick(millisUntilFinished: Long) { val tiempoSegundos=(millisUntilFinished/1000).toInt()+1 tvCuentaAtras?.text=tiempoSegundos.toString().padStart(2,'0') } }.start() } }
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CRONOMETRO" android:textSize="36sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/txtTiempo" android:layout_width="239dp" android:layout_height="75dp" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="56dp" android:ems="10" android:inputType="number" android:text="00" android:textSize="24sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" /> <ImageButton android:id="@+id/btnPlay" android:layout_width="84dp" android:layout_height="75dp" android:layout_marginTop="56dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:onClick="play" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" app:srcCompat="@android:drawable/ic_media_play" /> <TextView android:id="@+id/tvCuentaAtras" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="84dp" android:text="00" android:textSize="76sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/txtTiempo" /> </androidx.constraintlayout.widget.ConstraintLayout>
🎦 Lista de reproducción de este curso: https://www.youtube.com/watch?v=3ZUlE_tvfaM&list=PLCTD_CpMeEKRL2-HaZThebGcyyR3_RshO&ab_channel=programadornovato
🎦 Curso de Android Studio: https://www.youtube.com/watch?v=AHyTqIB_8Rs&list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF&ab_channel=programadornovato
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
Anterior tutorial Siguiente tutorial