curso android tema 3

36
Android Elementos de la interfaz gráfica Yésica Hernández Jorge Frank Cesar Aguirre

Transcript of curso android tema 3

Page 1: curso android tema 3

Android

Elementos de la interfaz gráfica

Yésica Hernández

Jorge Frank Cesar Aguirre

Page 2: curso android tema 3

Repaso

¬¬

Page 3: curso android tema 3

El primer proyecto en Android

Page 4: curso android tema 3

Comprobando el ciclo de vida

de un Activity

Page 5: curso android tema 3

Elementos de la interfaz gráfica

Existen diferentes elementos que permiten al

usuario interactuar con nuestras aplicaciones y

suministrar servicios adicionales, además algunas

de estos permiten mejorar el aspecto de nuestras

aplicaciones enriqueciéndolas.

Escritorio

Page 6: curso android tema 3

Elementos de la interfaz gráfica

Un mundo de posibilidades

para combinar y crear

Page 7: curso android tema 3

Elementos de la interfaz gráfica

Existen diferentes elementos que permiten al

usuario interactuar con nuestras aplicaciones y

suministrar servicios adicionales, además algunas

de estos permiten mejorar el aspecto de nuestras

aplicaciones enriqueciéndolas.

Escritorio

Page 8: curso android tema 3

Elementos de la interfaz gráfica

En todos los dispositivos existe una

pantalla de home donde la mayoría de

la veces es personalizable estos e

hace a través de componentes

dinámicos de aplicaciones, estos

proveen una ventana a nuestras

aplicaciones u ofrecen información

directamente en la pantalla Home.

Pantalla Home

Page 9: curso android tema 3

Botones físicos de la UI y su

interacción

Back Button

Por defecto regresa a la actividad

anterior

Se pueden programar eventos en caso

que se presione y que tenga un

comportamiento diferente.

Page 10: curso android tema 3

Get Menu Button

Muestra el menú que esté programado

en esa Activity, si no existe no hace

nada.

Elementos de la interfaz gráfica

Page 11: curso android tema 3

Home Button

Este permite salir de la Activity en la que

se encuentra y mostrar la pantalla de

home del dispositivo.

Elementos de la interfaz gráfica

Page 12: curso android tema 3

Elementos de la interfaz gráfica

Existen diferentes tipos:

Live Wallpaper – Fondo de pantalla animado e

interactivo.

App widget – Es un componente de una aplicación el

cual permite mostrar información en pantalla o echar un

vistazo a la aplicación e interactuar con esta.

Pantalla Home

Soy un app

widget

Soy un live

wallpaper

El uso de los app widgets varia en cada dispositivo

Page 13: curso android tema 3

Elementos de la interfaz gráfica

Una Vista es un elemento básico de la interfaz del usuario,

estas son áreas rectangulares responsables del dibujado y

manejo de eventos. Podrían verse como los controles

básicos.

por ejemplo :

ContextMenu

Menu

View

SurfaceView

Elementos básicos Views

Page 14: curso android tema 3

Elementos de la interfaz gráfica

Un widget es un elemento de interfaz de usuario más

avanzado, los podemos ver como los controles con los que el

usuario interactúa.

Por ejemplo:

Button

CheckBox

DatePicker

RelativeLayout

Elementos básicos Widgets

La lista completa está en la

documentación.

Page 15: curso android tema 3

Creando interfaces de usuario

Es vital crear interfaces intuitivas y

atractivas para nuestras aplicaciones.

Asegurándonos que es fácil de usar

conforme se usa (esto debe ser prioritario

en el diseño).

Elementos de la interfaz gráfica

Page 16: curso android tema 3

A través de la combinación de Views

vamos hacer la creación de las interfaces

de usuario.

Elementos de la interfaz gráfica

Creando interfaces de usuario

Page 17: curso android tema 3

Elementos visuales

Todos heredan

propiedades de View

Recuerden que un Widget

también es una Vista.

Elementos de la interfaz gráfica

Page 18: curso android tema 3

Layout managers (layouts)

Son una extensión de la clase ViewGroup usada para posicionar los controles hijo de nuestra UI.

Estas pueden ser anidadas para crear interfaces complejas y arbitrarias

La manera más común de definir tus diseños y expresar la jerarquia de la vista es con un archivo de diseño XML. Los archivos XML ofrecen un estructura que es fácil de leer por el humano (muy parecida a HTML). Cada elemento en un XMl es un View o un objeto ViewGroup (o un descendiente). Los objetos Views son hojas de árbol y los objetos ViewGroup son ramas.

Elementos de la interfaz gráfica

Page 19: curso android tema 3

Layout

El nombre de un elemento de XML es respectivo al nombre de la clase Java que representa. Entonces un elemento<TextView> crea un TextView en tu UI, y un elemento <LinearLayout> crea un LinearLayout view group. Cuando ustedes cargan un un recurso de layout, el sistema Android inicializa estos objetos correspondientes en los elementos del layout.

Elementos de la interfaz gráfica

Page 20: curso android tema 3

Layout

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>

Elementos de la interfaz gráfica

Ejemplo

Page 21: curso android tema 3

Usar un layout a través de recursos separa la

lógica de la capa de aplicación de la capa de

presentación dando la flexibilidad de cambiar

la presentación. Esto da la posibilidad de en

caso de cambiar la capa presentación no se

toque el código (Optimización para diferentes

configuraciones de hardware).

Elementos de la interfaz gráfica

¿Por qué layouts en xml y no en código?

Page 22: curso android tema 3

Optimizando Layouts

• Evitar anidado inecesario:No poner un layout

dentro de otra a no ser que sea enecesario,

estas requieren tiempo para ‘’inflarse’’

• Evitar usar demasiadas vistas: Cada vista en un

layout quita tiempo y recursos (más de 80 vistas

el tiempo se vuelve significativo).

• Evitar anidado profundo: Es buena práctica de

programación anidar a menos de 10 niveles

Elementos de la interfaz gráfica

Page 23: curso android tema 3

Definiendo lo que se mostrará en el Activity

Las Activities son la ventana donde serán mostradas nuestras interfaces de usuario. Para asignar la interface a desplegar usamos setContentView.

setContentView Acepta directamente el id de un recurso o la instancia de una vista.

Elementos de la interfaz gráfica

Usando layouts

Page 24: curso android tema 3

@Override

public void onCreate(Bundle

savedInstanceState) {

/*Se carga en donde el activity había sido

dejada*/

super.onCreate(savedInstanceState);

//Definimos la vista a desplegar

setContentView(R.layout.main);

}

Elementos de la interfaz gráfica

Usando layouts

Page 25: curso android tema 3

@Override

public void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

TextView myTextView = new TextView(this);

setContentView(myTextView);

//Definimos atributos de la vista

myTextView.setText("Hello, Android");

}

Elementos de la interfaz gráfica

Usando layouts

Page 26: curso android tema 3

Android Widget Toolbox

Android provee de un conjunto de Views para

ayudarnos a crear interfaces simples (y modificarlos o

extenderlos como sea necesario).

Puede que en alguna situación ninguno de los widgets

provistos por Android cumpla nuestras necesidades

pero nuevas vistas pueden ser creadas por nosotros.

Ejemplos de muchas vistas ¡YAY! http://developer.android.com/guide/tutorials/views/index.html

Elementos de la interfaz gráfica

Widgets

Page 27: curso android tema 3

View Group es una vista especial que puede

contener otras vistas (hijo). El View Group es

la clase base para layouts y views containers.

Vean los View Groups más utilizados! http://developer.android.com/guide/topics/ui/layout-objects.html

Elementos de la interfaz gráfica

View Group

Page 28: curso android tema 3

Un menú contiene un conjunto de comandos

que están normalmente escondidos. Los

comandos de un menú proveen medios para

realizar operaciones, navegación, etc.

Elementos de la interfaz gráfica

Menús

Page 29: curso android tema 3

Menús

Se destina un archivo para cada uno

guardado en la carpeta de res/menu

Context Menú

Options menu

Elementos de la interfaz gráfica

Page 30: curso android tema 3

Dialogs

Son una pequeña ventana que aparece enfrente de la Activity actual. La Activity que está debaja pierde el foco y el dialogo acepta toda la interacción del usuario.

Estos son usados para interrumpir al usuario o hacer algunas tareas simples como un login prompt o una progress bar,

Elementos de la interfaz gráfica

Page 31: curso android tema 3

Creando interfaces de usuario

Notifications

Algunas notificaciones requieren respuesta del usuario otras no.

• Toast Notification Para breves mensajes que vienen de algo en segundo plano.

• Status Bar Notification Recordatorios persistentes que vienen del segundo plano y requieren la atención del usuario.

• Dialog Notification Para notificaciones relacionadas con la Activity actual

Elementos de la interfaz gráfica

Page 32: curso android tema 3

Creando interfaces de usuario

Manipular elementos por código

Para hacer la manipulación de vistas en Android,

necesitamos crear una instancia del objeto que vamos a

modificar, para hacer referencia a esta usamos el id del

elemento.

Elemento miElementoX = (Elemento)findViewById(R.id.X);

Elementos de la interfaz gráfica

Page 33: curso android tema 3

Programando en Android

Elementos visuales

package curso.ejemplo.ids; import android.app.Activity; import android.os.Bundle; public class AndroidDemo extends Activity { private LinearLayout root; @Override public void onCreate(Bundle state) { super.onCreate(state); setContentView(R.layout.main); root = (LinearLayout) findViewById(R.id.root); } }

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/an

droid" android:id="@+id/root" android:orientation="vertical" android:background="@drawable/lt_gray" android:layout_width="fill_parent" android:layout_height="wrap_content"> ... otros elementos.... </LinearLayout>

Estructura xml que define id

Referencia en el código del id

Elementos de la interfaz gráfica

Page 34: curso android tema 3

Listeners

En Android existen varias maneras de

interceptar eventos para alguna interacción

con el usuario. Cuando consideramos

eventos en la interfaz de usuario el

acercamiento es capturar el evento desde el

View object con el que el usuario interactúe.

Elementos de la interfaz gráfica

Page 35: curso android tema 3

Listeners

La clase View contiene una interfaz que contiene los métodos de listening los cuales serán llamados por el framework de Android cuando algún listener haya sido lanzado.

onClick()

onLongClick()

onFocusChange

onKey()

onTouch()

onCreateContextMenu()

Elementos de la interfaz gráfica

Page 36: curso android tema 3

Creando interfaces de usuario

Listeners

final Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // Perform action on clicks NombActivity, "Beep Bop", Toast.LENGTH_SHORT).show(); } });

Elementos de la interfaz gráfica