Está en la página 1de 5

Popups

1. Toasts
Los toasts sirven para mostrar un mensaje corto, una indicación que no necesita la interacción del
usuario.

Es posible crear un toast desde una actividad, un servicio o cualquier otra clase que tenga un
contexto.

Toast.makeText(ToastExampleActivity.this, R.string.toast,
Toast.LENGTH_SHORT).show();

Para crear un toast, utilice el método makeText que recibe como parámetros:

El contexto.

La cadena que se mostrará.

La duración de la visualización del toast.

Dispone de dos valores predefinidos: Toast.LENGTH_SHORT y Toast.LENGTH_LONG.

El método show sirve para mostrar el toast.

Con lo que se obtendrá:

No olvide llamar al método show para mostrar el Toast.

2. AlertDialog
Un AlertDialog es un cuadro de diálogo que permite mostrar un mensaje y realizar una interacción
con el usuario.

Se compone de tres partes:

Un título (opcional): representa el título del cuadro de diálogo.

Un contenido: representa el contenido de un cuadro de diálogo. Puede contener campos de


texto, sliders, casillas de activación, radiobuttons, etc.
Un botón o varios botones de acción: permite al usuario elegir la opción que se realizará.

A continuación se muestra un ejemplo de un cuadro de diálogo que solicita al usuario la confirmación


de la eliminación de un mensaje.

AlertDialog.Builder builder = new AlertDialog.Builder(this);


builder.setMessage(R.string.alert_dialog_msg).setCancelable(false
).setPositiveButton("Yes", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).setNegativeButton("Cancel", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create().show();

El código anterior:

Utiliza un AlertDialog.Builder para crear el cuadro de diálogo.

Especifica el mensaje así como los botones que se mostrarán. También puede tener un único
botón mediante el método setNeutralButton.

Después, se invoca al método create para crear el cuadro de díalogo.

Finalmente, utiliza el método show para mostrar el cuadro de diálogo.

Lo que generará:

3. ProgressDialog
Las barras de progreso sirven para informar a un usuario acerca del grado de avance de una tarea.

Existen dos tipos de barras de progreso:

Barra de progreso acotada: si desea, por ejemplo, conocer el porcentaje de avance de una
tarea (por ejemplo, la descarga de una aplicación a través de Google Play).

Barra de progreso sin acotar: si la duración del tratamiento no se puede calcular, puede
usar este tipo de barra de progreso:
a. Implementación

Para implementar una barra de progreso, hay que usar la clase ProgressDialog.

A continuación se muestra un ejemplo de creación de una barra de progreso:

ProgressDialog dialog = ProgressDialog.show(


ProgressDialogExampleActivity.this,
getResources().getString(R.string.dialog_title), getResources()
.getString(R.string.dialog_load), true);

La construcción requiere:

Un contexto.

Una cadena de caracteres que sirva de título en el cuadro de diálogo de progreso


(opcional).

Una cadena de caracteres que represente el mensaje que aparece en el cuadro de diálogo
de progreso.

Lo que generará:

Una vez realizado el tratamiento, deberá detener la barra de progreso mediante el


métododismiss:

dialog.dismiss();

Para crear una barra de progreso horizontal, hay que:

Crear una instancia de la clase ProgressDialog.

Definir el estilo de la barra de progreso (estilo horizontal).

Definir el mensaje.

Mostrar la barra de progreso.

ProgressDialog progressDialog;
progressDialog = new
ProgressDialog(ProgressDialogExampleActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.show();
Para actualizar el avance de la tarea en curso, utilice el método setProgress:

progressDialog.setProgress(PROGRESS_VALUE);

4. Cuadro de diálogo personalizado


Puede crear cuadros de diálogo personalizados con un layout específico. Para ello, cree un archivo
XML que represente el layout personalizado.

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<ImageView android:id="@+id/alert_img"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>
<TextView android:id="@+id/alert_msg"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFF"
android:gravity="center_vertical"
/>
</LinearLayout>

Después, en la actividad, hay que:

Crear el cuadro de diálogo.

Asociar el cuadro de diálogo con el archivo XML que representa la vista personalizada.

Especificar el título, una imagen y una descripción para el cuadro de diálogo.

Dialog dialog = new


Dialog(CustomAlertDialogExampleActivity.this);

dialog.setContentView(R.layout.custom_alert);
dialog.setTitle("Popup Personalizado")

TextView text = (TextView) dialog.findViewById(R.id.alert_msg);


text.setText("¡¡Mi primer Popup personalizado!! ");
ImageView image = (ImageView)dialog.findViewById(R.id.alert_img);
image.setImageResource(R.drawable.nyan);

dialog.show();

También podría gustarte