Enrique López-Mañas



     Módulo 4: Creación y diseño de videojuegos móviles

Android: Interfaz de Usuario
En colaboración con la                  Con la participación de
Universidad de Alcalá                           Electronic Arts
Contenido

   Interfaz de Usuario:
                 Entendiendo la Interfaz de Usuario
                 Diseño de la Interfaz
                 Capturar eventos de la Interfaz
                 Responder a cambios de orientación
                 Notificaciones al usuario




Introducción a la programación – Enrique López Mañas           2
Entendiendo la UI

   Dos maneras de definir la IU:
                 XML: (p.ej., main.xml en la carpeta res/layout)
                 En tiempo de ejecución

   Interfaz contiene Views y ViewGroups
   Todos los Views deben colocarse
     dentro de un ViewGroup



Introducción a la programación – Enrique López Mañas                   3
Views y ViewGroups

  Tipos de ViewGroups
                LinearLayout
                TableLayout
                RelativeLayout
                FrameLayout
                ScrollView




Introducción a la programación – Enrique López Mañas           4
Linear Layout

   Coloca los elementos en una columna o
     en una fila




Introducción a la programación – Enrique López Mañas               5
Table Layout

   Agrupa Views en filas y columnas




Introducción a la programación – Enrique López Mañas              6
RelativeLayout

   Permite especificar la posición relativa
     entre las Views




Introducción a la programación – Enrique López Mañas                7
Unidades de medida

   Cuando se especifica el tamaño de un
     elemento, podemos utilizar:
                 dp: Pixel independiente de la densidad. 160dp
                   equivalen a 1 pulgada de pantalla física
                 sp: Pixel independiente de la escala, se usa en tamaño
                   de fuente de letra
                 pt: Punto. Equivale a 1/72 pulgadas, basada en el
                   tamaño de la pantalla
                 px: Pixel. Equivale a los pixeles de la pantalla, no
                   recomendable ya que no renderizará
                   correctamente .


Introducción a la programación – Enrique López Mañas                      8
Diseño de la UI

   Mediante archivos xml




   En tiempo de ejecución
Introducción a la programación – Enrique López Mañas                 9
Ejemplo:

   Creación de la interfaz en tiempo de
     ejecución




Introducción a la programación – Enrique López Mañas          10
Ejemplo



                              Capturar Eventos de la UI:
Hay más de una manera de interceptar los
 eventos de interacción del usuario:
                           Extender la clase View y Sobrecargar el método
                           EventListeners, relativos a cada View
                                            onClick, onLongClick, onTouch, etc...
                           EventHandler, eventos del dispositivo
                                                         onKeyDown, onKeyUp, onTouchEvent




  Introducción a la programación – Enrique López Mañas                                      11
Extender Clase View




Introducción a la programación – Enrique López Mañas            12
EventListener




Introducción a la programación – Enrique López Mañas               13
Cambios de Orientación

   Cuando cambia la orientación del
     dispositivo, la Activity visible se
     destruye y se vuelve a crear
   Es necesario adaptarse a ésos cambios:
                 Anclar Views
                 Reposicionar y cambiar el tamaño de los Views




Introducción a la programación – Enrique López Mañas             14
Ejemplo

   Layout que responde a los cambios de
     orientación
   Cómo anclar Views
   Cómo reposicionar y cambiar el tamaño
                 res/layout
                 res/layout-land




Introducción a la programación – Enrique López Mañas         15
Notificaciones al usuario

   Según la situación existen diferentes
     maneras de notificar al usuario
                 Diálogos:
                              AlertDialog
                              ProgressDialog
                              DatePickerDialog
                              TimePickerDialog
                 Menús:
                          OptionsMenu
                          ContextMenu
                 Barra de notificaciones
                 Activity como Dialog

Introducción a la programación – Enrique López Mañas   16
Ejemplo

   Creación de Diálogos
   Utilización de Menús
   Notificaciones
   Activity como Dialog
   Aplicar Estilos



Introducción a la programación – Enrique López Mañas         17
Gracias por su atención
                           Contacto para dudas y sugerencias
                                       Enrique López Mañas
                                 eenriquelopez@gmail.com
                                            @eenriquelopez




En colaboración con la     Con la participación de
Universidad de Alcalá              Electronic Arts

Android: Interfaz de Usuario

  • 1.
    Enrique López-Mañas Módulo 4: Creación y diseño de videojuegos móviles Android: Interfaz de Usuario En colaboración con la Con la participación de Universidad de Alcalá Electronic Arts
  • 2.
    Contenido Interfaz de Usuario: Entendiendo la Interfaz de Usuario Diseño de la Interfaz Capturar eventos de la Interfaz Responder a cambios de orientación Notificaciones al usuario Introducción a la programación – Enrique López Mañas 2
  • 3.
    Entendiendo la UI Dos maneras de definir la IU: XML: (p.ej., main.xml en la carpeta res/layout) En tiempo de ejecución Interfaz contiene Views y ViewGroups Todos los Views deben colocarse dentro de un ViewGroup Introducción a la programación – Enrique López Mañas 3
  • 4.
    Views y ViewGroups Tipos de ViewGroups LinearLayout TableLayout RelativeLayout FrameLayout ScrollView Introducción a la programación – Enrique López Mañas 4
  • 5.
    Linear Layout Coloca los elementos en una columna o en una fila Introducción a la programación – Enrique López Mañas 5
  • 6.
    Table Layout Agrupa Views en filas y columnas Introducción a la programación – Enrique López Mañas 6
  • 7.
    RelativeLayout Permite especificar la posición relativa entre las Views Introducción a la programación – Enrique López Mañas 7
  • 8.
    Unidades de medida Cuando se especifica el tamaño de un elemento, podemos utilizar: dp: Pixel independiente de la densidad. 160dp equivalen a 1 pulgada de pantalla física sp: Pixel independiente de la escala, se usa en tamaño de fuente de letra pt: Punto. Equivale a 1/72 pulgadas, basada en el tamaño de la pantalla px: Pixel. Equivale a los pixeles de la pantalla, no recomendable ya que no renderizará correctamente . Introducción a la programación – Enrique López Mañas 8
  • 9.
    Diseño de laUI Mediante archivos xml En tiempo de ejecución Introducción a la programación – Enrique López Mañas 9
  • 10.
    Ejemplo: Creación de la interfaz en tiempo de ejecución Introducción a la programación – Enrique López Mañas 10
  • 11.
    Ejemplo Capturar Eventos de la UI: Hay más de una manera de interceptar los eventos de interacción del usuario: Extender la clase View y Sobrecargar el método EventListeners, relativos a cada View onClick, onLongClick, onTouch, etc... EventHandler, eventos del dispositivo onKeyDown, onKeyUp, onTouchEvent Introducción a la programación – Enrique López Mañas 11
  • 12.
    Extender Clase View Introduccióna la programación – Enrique López Mañas 12
  • 13.
    EventListener Introducción a laprogramación – Enrique López Mañas 13
  • 14.
    Cambios de Orientación Cuando cambia la orientación del dispositivo, la Activity visible se destruye y se vuelve a crear Es necesario adaptarse a ésos cambios: Anclar Views Reposicionar y cambiar el tamaño de los Views Introducción a la programación – Enrique López Mañas 14
  • 15.
    Ejemplo Layout que responde a los cambios de orientación Cómo anclar Views Cómo reposicionar y cambiar el tamaño res/layout res/layout-land Introducción a la programación – Enrique López Mañas 15
  • 16.
    Notificaciones al usuario Según la situación existen diferentes maneras de notificar al usuario Diálogos: AlertDialog ProgressDialog DatePickerDialog TimePickerDialog Menús: OptionsMenu ContextMenu Barra de notificaciones Activity como Dialog Introducción a la programación – Enrique López Mañas 16
  • 17.
    Ejemplo Creación de Diálogos Utilización de Menús Notificaciones Activity como Dialog Aplicar Estilos Introducción a la programación – Enrique López Mañas 17
  • 18.
    Gracias por suatención Contacto para dudas y sugerencias Enrique López Mañas eenriquelopez@gmail.com @eenriquelopez En colaboración con la Con la participación de Universidad de Alcalá Electronic Arts