|
|
(4 revisiones intermedias por el mismo usuario no mostrado) |
Línea 1: |
Línea 1: |
− | {{:Usuario:ManuelRomero/Android/PrimerContacto/nav}}
| |
− | <br>
| |
− | ===concepto de cajas de dialogo===
| |
− | *Son widgets que contienen informción para el usuario
| |
− | *La información se presenta en una ventana aparte de la aplicación
| |
− | *La ventana puede tener botones para que el usuario interactúe
| |
− | *Puede pedir información o simplemente aceptar o confirmar algo
| |
− | *Iremos presentando las diferentes opciones que se plantean
| |
| | | |
− | ===Modificando la interfaz===
| |
− | *Añadimos un botón
| |
− | ;Referencia
| |
− | http://developer.android.com/reference/android/widget/Button.html
| |
− | *Los elementos gráficos los podemos añadir de dos maneras
| |
− | #En el fichero java directamente
| |
− | #En el fichero xml que descrive el layout de la ventana donde queremos que aparezcan
| |
− | *Lo haremos en el fichero xml por simplicidad
| |
− | *La idea es que al hacer click salga un mensaje emergente
| |
− | <source lang=xml>
| |
− | <Button
| |
− | android:id="@+id/button1"
| |
− | android:layout_width="wrap_content"
| |
− | android:layout_height="wrap_content"
| |
− | android:text="Mensaje Toast"
| |
− | android:onClick="clickToast"/>
| |
− | </source>
| |
− | *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'''''
| |
− | ===Clase Toast===
| |
− | clase definida en el paquete '''''widgwt'''''
| |
− | android.widget.Toast
| |
− | ;Referencia
| |
− | http://developer.android.com/guide/topics/ui/notifiers/toasts.html
| |
− | *Esta clase implementa la ventana mas sencilla de diálogo
| |
− | *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 lo que no oculta la activity que sigue visible y activa
| |
− | *El mensaje generado por '''''Toast''''' desaparece cuando se cumple un ''timeout''
| |
− |
| |
− | <!-- Aclarar esto de la vista-->
| |
− | *Un objeto de la clase Toast se puede instanciar con un método estático '''''makeText''''' de la misma clase
| |
− | <source lang=java>
| |
− | makeText(contexto, texto, duracion)
| |
− | </source>
| |
− | Este métod recibe tres parámetros
| |
− | ;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
| |
− | <source lang=java>
| |
− | public void clickToast(View v){
| |
− | Context contesto = getApplicationContext();
| |
− | CharSequence texto = "Este ejemplo ha funcionado FACIL!!!!";
| |
− | int duracion = Toast.LENGTH_LONG;
| |
− |
| |
− | Toast mensaje = Toast.makeText(contesto, texto, duracion);
| |
− | mensaje.show();
| |
− | }
| |
− | </source>
| |
− | ===Ventana dialogo con ckeckbox===
| |
− | *A continución realizaremos otra ventana de diálogo
| |
− | *Seguimos usando el mismo proyecto
| |
− | *En ella el usuario debe checkear distintas opciones (seleccionar idiomas)
| |
− | *En la misma confirmaremos o cancelaremos la selección
| |
− | ===Realización de la práctica===
| |
− | *Modificamos el interfaz
| |
− | <source lang=xml>
| |
− | <Button
| |
− | android:id="@+id/button2"
| |
− | android:layout_width="wrap_content"
| |
− | android:layout_height="wrap_content"
| |
− | android:text="Opciones Lengaje"
| |
− | android:onClick="clickMesajeOpciones"/>
| |
− | </source>
| |
− | *Definimos un array de opciones
| |
− | <source lang=java>
| |
− | CharSequence[] idiomas={"Españlo","Inglés","Alemán"};
| |
− | boolean [] idiomasSeleccionados=new boolean[idiomas.length];
| |
− | </source>
| |
− |
| |
− | <source lang=java>
| |
− | public void clickDialogoOpciones(View v){
| |
− | showDialog(0);
| |
− | }
| |
− | </source>
| |
− | *El uso del método showDialog esta depreciado a partir de la versión 3.0 de android.
| |
− | *El argumento indica un determinado cuadro de diálogo a mostrar
| |
− |
| |
− | *implementamos el método '''''clickMesajeOpciones'''''
| |
− | *Este método lo que hace es llamar al método '''''onCreateDialog()''''' que hay que sobreescribir
| |
− | Retorna un objeto Dialog que hay que importar de la clase import android.app.Dialog;
| |
− |
| |
− |
| |
− | *Para mostrar el código debemos implementar el método '''''onCreateDialog(int)'''''
| |