Diferencia entre revisiones de «Usuario:ManuelRomero/Android/PrimerosContactos/EjemploCajasDialogo»
De WikiEducator
(→La clase diálogo) |
|||
Línea 21: | Línea 21: | ||
Clase AlerteDialog Vs Builder Vs AlertDialog.Builder | Clase AlerteDialog Vs Builder Vs AlertDialog.Builder | ||
Versión 1 (solo funciona un botón | Versión 1 (solo funciona un botón | ||
− | método getActivity() de | + | método getActivity() de DialogFragmaentç |
clase FragmentManager y método getFragmentmanager(() de la clase Activity | clase FragmentManager y método getFragmentmanager(() de la clase Activity | ||
Implementamos los diferentes botones | Implementamos los diferentes botones | ||
--> | --> | ||
+ | *La clase VentanaDialogo va a ser un Fragment especializado '''''DialogFrament''''' | ||
+ | *Como todo ''Fragement'' a la hora de ser ejecutado dependera de una ''Activity'' que inicia su ciclo de vida | ||
+ | *Los métodos callback que se ejecutan cuando se inicia el ''DialogFragment'' son '''''onCreateDialog()''''' y '''''onCreateView()''''' | ||
+ | *Si vamos a usar una clase ya existen (AlerteDialog, ...), se escribe el código en ''onCreateDialog()'', sin embargo si fuéramos a realizar una caja de diálogo personalizada donde tuviéramos que definirnos un layout, tendríamos que sobreescribir el callback ''onCreteView()'' | ||
+ | *Escrbamos el código para visualizar una caja de diálogo ya establecida ''AlertDialog()'' | ||
+ | |||
+ | |||
+ | ===AlertDialog=== | ||
+ | *Es una clase que hereda de '''''Dialog''''' y tiene ya un layout establecido la cual se adapta visualmente en fución de que asignemos valores a propidades de la clase | ||
+ | *Se debe utilizar para diálogos que usan las siguientes propiedades: | ||
+ | # Un título | ||
+ | # Un mensaje de texto | ||
+ | # Uno, dos o tres botones | ||
+ | # Una lista de items seleccionables, opcionalmente con casillas de verificación (checkboxes) o botones de opción (radio buttons). | ||
+ | <!-- | ||
+ | Implementamos los diferents botones | ||
+ | --> | ||
+ | |||
==Añadiendo mas botones== | ==Añadiendo mas botones== | ||
<!-- | <!-- | ||
Línea 33: | Línea 51: | ||
Probando todo | Probando todo | ||
--> | --> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Dialog con 1, 2 o 3 botones=== | ===Dialog con 1, 2 o 3 botones=== | ||
<!-- | <!-- |
Revisión de 23:35 8 nov 2013
Contenido
Preparar la apalicacion
- Vamos a realizar una app, en la que vamos a usar la forma recomendada para abrir la ventanas de diálogo
- para ello
La clase diálogo
Nuestra aplicación va a constar de dos clases
- la activity que va a ser nuestra pantalla con los botones
- La ventana diálogo que en función del botón que presionemos visualizará una ventana de diálogo u otra
La clase VentanaDialogo solo un botón
- La clase VentanaDialogo va a ser un Fragment especializado DialogFrament
- Como todo Fragement a la hora de ser ejecutado dependera de una Activity que inicia su ciclo de vida
- Los métodos callback que se ejecutan cuando se inicia el DialogFragment son onCreateDialog() y onCreateView()
- Si vamos a usar una clase ya existen (AlerteDialog, ...), se escribe el código en onCreateDialog(), sin embargo si fuéramos a realizar una caja de diálogo personalizada donde tuviéramos que definirnos un layout, tendríamos que sobreescribir el callback onCreteView()
- Escrbamos el código para visualizar una caja de diálogo ya establecida AlertDialog()
AlertDialog
- Es una clase que hereda de Dialog y tiene ya un layout establecido la cual se adapta visualmente en fución de que asignemos valores a propidades de la clase
- Se debe utilizar para diálogos que usan las siguientes propiedades:
- Un título
- Un mensaje de texto
- Uno, dos o tres botones
- Una lista de items seleccionables, opcionalmente con casillas de verificación (checkboxes) o botones de opción (radio buttons).
Añadiendo mas botones
Dialog con 1, 2 o 3 botones
checkButton como opciones
- Tenemos diferentes opciones y queremos seleccionar algunas de ellas
- En ella el usuario debe checkear distintas opciones (seleccionar idiomas)
- En este caso debemos invocar al método setMultiChoiceItems
- Este método le pasamos el vector de opciones, un vector de boolenos que nos dice cada opción si está o no seleccionada y un listener.
- Igualmente podemos añadir botones de aceptar o cancelar.
<Button android:id="@+id/Dialog4" android:text="Idiomas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="clickOpcionMultiple" />
public void clickOpcionMultiple(View v){ AlertDialog.Builder caja = new AlertDialog.Builder(this); caja.setTitle("Tu OS móvil preferido?") .setMultiChoiceItems(idiomas,idiomasSeleccionados, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub Context contesto = getBaseContext(); int duracion=Toast.LENGTH_SHORT; Toast.makeText(contesto,idiomas[which]+(isChecked ? "seleccionado":"NOOOOOO seleccionado"),duracion).show(); } }); AlertDialog alert = caja.create(); alert.show(); } }
-->
ratioButton
Ventana dialogo con direfentes opciones
- En este caso añadimos el método setItems, en lugar de setMessage
- El método setItems como primer parámetro le pasaremos un vector de charSequences y el segundo es un listener
- Vemos el código
ProgressDialog
Barra de progreso circular
Barra de progreso horizontal
- Ahora le diremos que el objeto que tiene la forma horizontal de línea
- En este caso tenemos una barra que se va rellenando
- Esto implica que el progreso tendrá un valor inicial e irá modificando hasta llegar a estar totalmente rellena
- Vamos a añadir un botón para cancelar