Usuario:ManuelRomero/Android/PrimerosContactos/Dialogo

Concepto de cajas de dialogo

 * Son widgets que contienen información para el usuario
 * La información se presenta en una ventana emergente aparte de la aplicación
 * El objetivo de una caja de diálogo puede ser muy diferente
 * Simplemente informar de algo sin mucha importancia
 * Informar de algo importante que nos necesitemos asegurar que el usuario lo ha leído
 * Pedir información o confirmación de algo (tendremos botones, cajas de texto)
 * Informar de que está ocurriendo algo y el porcentaje de ello
 * Iremos presentando las diferentes opciones que se plantean, implementando diferentes tipos de notificaciones en android

Métodos para presentar los diálogos

 * Existen dos métodos
 * 1) Basado en versiones anteriores
 * 2) los diálogos los gestiona la clases activity desde  una pila
 * 3) Los diálogos no se comparten entre actividades
 * 4) Muchos métodos utilizados están obsoletos
 * 5) Es el más fácil de implementar
 * 6) Basado en fragmentos
 * 7) Usados desde el API 11 (Android 3.0)
 * 8) Puede funcionar con versiones anteriores si usamos el paquete de soporte Android
 * 9) Los diálogos los gestiona FragmentManager ''android.app.FragmentManager
 * 10) Los diálogos son un tipo especial de fragmento
 * 11) Para usarlo crearemos clases que hereden de la clase DialogFragment

Tipos de diálogo
Los tipos de diálogos que podemos encontrar en Android son
 * Dialog
 * http://developer.android.com/reference/android/app/Dialog.html
 * Si queremos hacer una caja de diálogo personalizada deberemos usar esta clase como punto de partida y heredar de ella
 * En otro caso podemos usar una de las clases descendientes como vamos a ver a continuación

Imagen:claseDialog1.png;
 * AlertDialog
 * CharacterPickerDialog
 * DatePickerDialog
 * ProgressDialog
 * TimePickerDialog
 * Toast
 * http://developer.android.com/guide/topics/ui/notifiers/toasts.html

Imagen:toast.png Es una notificación que no espera confiración


 * 1) Dialogo personalizado
 * 1) Dialogo personalizado

Dialog

 * La clase Dialog

Clase Toast
clase definida en el paquete widgwt android.widget.Toast Imagen:toast.png http://developer.android.com/guide/topics/ui/notifiers/toasts.html
 * Referencia


 * Esta clase implementa la ventana mas sencilla de notificación.
 * Es simplemente un alert o MsgBox con un solo parámetro,
 * El parámetro es el texto que visualiza
 * Se visualiza independientemente del activity de la aplicación, por defecto en la parte inferion de la pantalla
 * Por lo que no oculta la activity que sigue visible y activa
 * El mensaje generado por Toast desaparece cuando se cumple un timeout

Este método recibe tres parámetros
 * Un objeto de la clase Toast se puede instanciar con un método estático makeText de la misma clase
 * contexto
 * Objeto que describe el en entorno actual de la interfaz de la aplicación


 * texto
 * La cadena de caracteres que se va a visualizar


 * duración
 * tiempo en el que dura la ventana emergente
 * puede tomar dos valores como constantes de la propia clase

LENGTH_LONG LENGTH_SHORT
 * El método que añadimos es el siguiente
 * Este código se puede implemenar de forma mas sencilla sin crear el objeto Toast
 * Podemos modificar la ubicación usando el método setGravitity(int posicion, int offset_x, int offset_y);
 * También podríamos cambiar la apariencia, creando un layout para el objeto Toast (Ver documentación oficial).

Modificando la interfaz
http://developer.android.com/reference/android/widget/Button.html
 * Añadimos un botón
 * Referencia
 * Los elementos gráficos los podemos añadir de dos maneras
 * 1) En el fichero java directamente
 * 2) En el fichero xml que descrive el layout de la ventana donde queremos que aparezcan
 * Lo haremos en el fichero xml, totalmente recomendado, sencillo y eficaz.
 * La idea es que al hacer click salga un mensaje emergente-
 * Entre los atributos vemos que está onClick
 * Este atributo especifica el nombre del método que se va a ejecutar cuando ocurra la acción
 * En el código ese método recibirá la vista de este layout como parámetro

El fichero java

 * Escribimos el código para que aparezca el mensaje
 * Básicamente lo que haremos es escribir el código de este método clickToast
 * Este método recibe como argumento la vista donde está el botón ç
 * En él instanciaremos un objeto de la clase Toast