PulseCountDown en Android es una alternativa a CountDownTimer. Un CountDownTimer es un temporizador preciso que se puede usar para que un sitio web o blog muestre la cuenta regresiva de cualquier evento especial, como un cumpleaños o un aniversario. Es muy fácil implementar PulseCountDown en lugar de CountDownTimer porque PulseCountDown proporciona un diseño predeterminado con algunas animaciones hermosas. De forma predeterminada, el valor inicial de PulseCountDown es 10 y el valor final es 0. Supongamos que se necesita una aplicación de prueba , y en ese límite de tiempo agregado para responder una pregunta se puede usar PulseCountDown .
Tabla de Atributos
Atributo XML |
Método |
Funcionalidad |
pc_startValue | startValue(valor int) | Valor inicial de PulseCountDown (por defecto 10) |
pc_endValor | endValue(valor int) | Valor antes del cual se detendrá la cuenta regresiva (por defecto 0) |
– | inicio (devolución de llamada:() -> Unidad = {}) | Empieza la cuenta regresiva |
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio .
Nota: La versión mínima del SDK debe ser superior a la API 22: Android 5.1 (Lollipop) para implementar esta dependencia. Así que elija el SDK apropiado mientras crea el nuevo proyecto.
Paso 2: Agregar dependencia
Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.
implementación ‘com.gusakov:pulse-countdown:1.1.0-rc1’
Paso 3: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. PulseCountDown A continuación se muestra el código para el archivo activity_main.xml .
XML
<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"> <com.gusakov.library.PulseCountDown android:id="@+id/pulseCountDown" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5" android:textSize="100sp" app:pc_startValue="5" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="188dp" android:text="Start Countdown" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Paso 4: trabajar con el archivo MainActivity
Vaya al archivo MainActivity y consulte el siguiente código. En este archivo, agregue el método onClickListner() al botón para iniciar PulseCountDownView. A continuación se muestra el código para el archivo MainActivity . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Toast import com.gusakov.library.start import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // when the user tap on the button this // function get invoked automatically. button.setOnClickListener(View.OnClickListener { pulseCountDown.start { // when countdown ends a toast // will be shown to user Toast.makeText(this, "Course Alert!", Toast.LENGTH_LONG).show() } }) } }
Java
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.gusakov.library.PulseCountDown; import com.gusakov.library.java.interfaces.OnCountdownCompleted; public class MainActivity extends AppCompatActivity { // creating object of Button and PulseCountDown private Button buttonStart; private PulseCountDown pulseCountDown; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initialising objects buttonStart=(Button)findViewById(R.id.buttonStart); pulseCountDown=(PulseCountDown)findViewById(R.id.pulseCountDown); // button OnClickListener buttonStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // start countdown and add OnCountdownCompleted pulseCountDown.start(new OnCountdownCompleted() { @Override public void completed() { // show simple toast when countdown completed Toast.makeText(MainActivity.this, "Pulse Count Completed :)", Toast.LENGTH_SHORT).show(); } }); } }); } }
Producción:
Publicación traducida automáticamente
Artículo escrito por madhavmaheshwarimm20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA