En este artículo, vamos a implementar una función muy importante relacionada con AlertBox. Por lo general, creamos un AlertBox para mostrar contenido importante. Aquí vamos a aprender cómo implementar esa función en nuestra aplicación de Android usando Alert Library. A continuación se muestra un video de muestra para tener una idea de lo que vamos a hacer en este artículo. Tenga en cuenta que vamos a implementar este proyecto utilizando el lenguaje Java .
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 . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: agregue la dependencia y el repositorio de JitPack
Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.
implementación ‘com.tapadoo.android:alerter:2.0.4’
Agregue el repositorio de JitPack a su archivo de compilación. Agréguelo a su root build.gradle al final de los repositorios dentro de la sección allprojects{ }.
todos los proyectos {
repositorios {
…
experto {url «https://jitpack.io»}
}
}
Después de agregar esta dependencia, sincronice su proyecto y ahora avanzaremos hacia su implementación.
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. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:keepScreenOn="true" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/txt1" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="Simple Alert " android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt2" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Background Color " android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt3" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Icon" android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt4" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with On Screen Duration " android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt5" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="without Title " android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt6" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with OnClickListener " android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt7" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Verbose Text" android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt8" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Swipe To Dismiss" android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt9" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Progress Bar" android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> <TextView android:id="@+id/txt10" android:layout_width="match_parent" android:layout_height="48dp" android:layout_margin="10dp" android:background="#fff" android:padding="8dp" android:text="with Visibility Callbacks" android:textColor="#000000" android:textSize="24dp" android:textStyle="bold" /> </LinearLayout>
Paso 4: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.tapadoo.alerter.Alerter; import com.tapadoo.alerter.OnHideAlertListener; import com.tapadoo.alerter.OnShowAlertListener; public class MainActivity extends AppCompatActivity { TextView txt1, txt2, txt3, txt4, txt5, txt6, txt7, txt8, txt9, txt10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); txt1 = findViewById(R.id.txt1); txt2 = findViewById(R.id.txt2); txt3 = findViewById(R.id.txt3); txt4 = findViewById(R.id.txt4); txt5 = findViewById(R.id.txt5); txt6 = findViewById(R.id.txt6); txt7 = findViewById(R.id.txt7); txt8 = findViewById(R.id.txt8); txt9 = findViewById(R.id.txt9); txt10 = findViewById(R.id.txt10); // click on text to show alert txt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { simpleAlert(); } }); // click on text to show alert txt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withBackgroundColor(); } }); // click on text to show alert txt3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withIcon(); } }); // click on text to show alert txt4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withOnScreenDuration(); } }); // click on text to show alert txt5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withoutTitle(); } }); // click on text to show alert txt6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withOnClickListener(); } }); // click on text to show alert txt7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withVerboseText(); } }); // click on text to show alert txt8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withSwipeToDismiss(); } }); // click on text to show alert txt9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withProgressBar(); } }); // click on text to show alert txt10.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { withVisibilityCallbacks(); } }); } // show simple alert public void simpleAlert() { Alerter.create(MainActivity.this).setTitle("Geeks For Geeks") .setText("A portal for Computer Science Student").show(); } // set background color using setBackgroundColorRes public void withBackgroundColor() { Alerter.create(this).setTitle("Geeks For Geeks") // or setBackgroundColorInt(Color.CYAN) .setText("A portal for Computer Science Student").setBackgroundColorRes(R.color.purple_200) .show(); } // without title public void withoutTitle() { Alerter.create(this) .setText("A portal for Computer Science Student").show(); } public void withOnClickListener() { Alerter.create(this).setTitle("Geeks For Geeks") .setText("A portal for Computer Science Student").setDuration(10000).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // showing simple toast to user when clicked Toast.makeText(MainActivity.this, "You Clicked Me", Toast.LENGTH_LONG).show(); } }).show(); } public void withVerboseText() { Alerter.create(this).setTitle("Geeks For Geeks") .setText("A portal for Computer Science Student" + "A portal for Computer Science Student" + "A portal for Computer Science Student").show(); } // set icon using setIcon public void withIcon() { Alerter.create(this).setTitle("Geeks For Geeks") // Optional - Removes white tint .setText("A portal for Computer Science Student").setIcon(R.drawable.ic_launcher_foreground).setIconColorFilter(0) .show(); } // set screen duration using setDuration public void withOnScreenDuration() { Alerter.create(this).setTitle("Geeks For Geeks") // set the duration in milli seconds .setText("A portal for Computer Science Student").setDuration(10000) .show(); } // swipe toast to dismiss public void withSwipeToDismiss() { Alerter.create(this).setTitle("Geeks For Geeks") // enabled swipe to dismiss .setText("A portal for Computer Science Student").enableSwipeToDismiss() .show(); } // show progress bar public void withProgressBar() { Alerter.create(this).setTitle("Geeks For Geeks") // enables the progress .setText("A portal for Computer Science Student").enableProgress(true) // set color of the progress .setProgressColorRes(R.color.purple_200) .show(); } public void withVisibilityCallbacks() { Alerter.create(this).setTitle("Geeks For Geeks") .setText("A portal for Computer Science Student").setDuration(10000).setOnShowListener(new OnShowAlertListener() { @Override public void onShow() { // showing simple toast when it is shown Toast.makeText(MainActivity.this, "On Show ", Toast.LENGTH_SHORT).show(); } }).setOnHideListener(new OnHideAlertListener() { @Override public void onHide() { // showing simple toast to user when it is hidden Toast.makeText(MainActivity.this, "On Hide ", Toast.LENGTH_SHORT).show(); } }).show(); } }
Producción: