Você está na página 1de 5

Popups

1. Toasts
Los toasts sirven para mostrar un mensaje corto, una indicacin que no necesita la interaccin 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 mtodo makeText que recibe como parmetros:

El contexto.

La cadena que se mostrar.

La duracin de la visualizacin del toast.

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

El mtodo show sirve para mostrar el toast.

Con lo que se obtendr:

No olvide llamar al mtodo show para mostrar el Toast.

2. AlertDialog
Un AlertDialog es un cuadro de dilogo que permite mostrar un mensaje y realizar una interaccin
con el usuario.

Se compone de tres partes:

Un ttulo (opcional): representa el ttulo del cuadro de dilogo.

Un contenido: representa el contenido de un cuadro de dilogo. Puede contener campos de


texto, sliders, casillas de activacin, radiobuttons, etc.
Un botn o varios botones de accin: permite al usuario elegir la opcin que se realizar.

A continuacin se muestra un ejemplo de un cuadro de dilogo que solicita al usuario la confirmacin


de la eliminacin 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 cdigo anterior:

Utiliza un AlertDialog.Builder para crear el cuadro de dilogo.

Especifica el mensaje as como los botones que se mostrarn. Tambin puede tener un nico
botn mediante el mtodo setNeutralButton.

Despus, se invoca al mtodo create para crear el cuadro de dalogo.

Finalmente, utiliza el mtodo show para mostrar el cuadro de dilogo.

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 aplicacin a travs de Google Play).

Barra de progreso sin acotar: si la duracin del tratamiento no se puede calcular, puede
usar este tipo de barra de progreso:
a. Implementacin

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

A continuacin se muestra un ejemplo de creacin 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 construccin requiere:

Un contexto.

Una cadena de caracteres que sirva de ttulo en el cuadro de dilogo de progreso


(opcional).

Una cadena de caracteres que represente el mensaje que aparece en el cuadro de dilogo
de progreso.

Lo que generar:

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


mtododismiss:

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 mtodo setProgress:

progressDialog.setProgress(PROGRESS_VALUE);

4. Cuadro de dilogo personalizado


Puede crear cuadros de dilogo personalizados con un layout especfico. 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>

Despus, en la actividad, hay que:

Crear el cuadro de dilogo.

Asociar el cuadro de dilogo con el archivo XML que representa la vista personalizada.

Especificar el ttulo, una imagen y una descripcin para el cuadro de dilogo.

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();

Você também pode gostar