Está en la página 1de 27

Interfaz de Usuario en Android

Felipe Vega Panozo


Curso Julio 2013
Universidad Mayor de San Simón

http://www.cursos.cs.umss.edu.bo
AndroidManifest.xml

En este archivo se establecen todos los parámetros necesarios


para que la aplicación funcione correctamente, parámetros como:

•COMPONENTES DE LA APLICACIÓN
•PERMISOS
•PERFILES DE HARDWARE
•VERSIONES DE ANDROID
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
Archivo en Java

Una vez modificado el archivo AndroidManifest.xml


conforme nuestras necesidades pasaremos a
modificar nuestro archivo en java
Archivo en Java
AndroidManifest.xml

A continuación volveremos a modificar el archivo


AndroidManifest.xml para que responda
correctamente con nuestro ejemplo
AndroidManifest.xml

Y finalmente creamos otro archivo en java que


reaccione con nuestros deseos
AndroidManifest.xml
DISPOSITIVOS DE ENTRADA

Android reconoce basicamente tres dispositivos de entrada para interactuar con


las aplicaciones:

•TouchScreen (pantalla tactil)


– Simple
– Multiple (multitouch) (a partir de la versión 2.0)
•Keyboard (teclado)
– Fisico
– Virtual
•Acelerometro
DISPOSITIVOS DE ENTRADA

Para manejar este tipo de dispositivos de entrada como en cualquier


aplicación en java debemos de trabajar con listeners que son los
manejadores de eventos.

Para los eventos touch simples:


Interface View.OnTouchListener

onTouch(View v, MotionEvent event)


DISPOSITIVOS DE ENTRADA

La clase MotionEvent:

MotionEvent.getX()
MotionEvent.getY()
MotionEvent.getAction()

MotionEvent.ACTION_DOWN
MotionEvent.ACTION_MOVE
MotionEvent.ACTION_CANCEL
MotionEvent.ACTION_UP
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA

Para los eventos multiTouch:


Interface View.OnTouchListener

onTouch(View v, MotionEvent event)

Continuamos manejando la clase MotionEvent

MotionEvent.getX(pointerIndex)
MotionEvent.getY(pointerIndex)
MotionEvent.getAction(pointerIndex)

getPointerCount()
DISPOSITIVOS DE ENTRADA
En Android existen dos parametros que identifican cada dedo que toca la pantalla:
• pointerIndex
• pointerId

Cuando el primer dedo toca la pantalla los valores de este dedo se establecen en: pointerIndex0 y pointerId0

Cuando el segundo dedo toca la pantalla los valores de este dedo se establecen en: pointerIndex1 y
pointerId1

Sin embargo al retirar el primer dedo de la pantalla, el segundo dedo toma los valores: pointerIndex0 y
pointerId1
DISPOSITIVOS DE ENTRADA
Entonces index representa el orden de llegada de los dedos al
tocar la pantalla e id es el identificador de cada dedo que no
cambia con el tiempo, para obtener estos valores se trabajara con
el método:
MotionEvent.getPointerIdentifier(pointerIndex)

Sin embargo es bastante complicado obtener este pointerIndex,


que se ol obtiene con la siguiente -ecuación-

Int pointerIndex= (event.getAction() &


MotionEvent.ACTION_POINTER_ID_MASK)
>>MotionEvent.ACTION_POINTER_ID_SHIFT;

MotionEvent.ACTION_POINTER_ID_MASK=0x0000FF00
MotionEvent.ACTION_POINTER_ID_SHIFT=0x00000008
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA

Para los eventos del keyboard o teclado:

Interface OnKeyListener

onKey(View v, int keyCode, KeyEvent event)

keyCode: Cada tecla tiene un número unico definido en la clase KeyEvent

Ejemplo: KeyCode.keyCode_A
DISPOSITIVOS DE ENTRADA

Clase KeyEvent. Presenta dos métodos importantes:

KeyEvent.getAction()
KeyEvent.getUnicodeChar()

getAction() puede devolvernos:


KeyEvent.ACTION_DOWN (tecla pulsada)
KeyEvent.ACTION_UP (tecla soltada)
KeyEvent.ACTION_MULTIPLE
DISPOSITIVOS DE ENTRADA

Además de esto no debemos olvidar enfocar el componente al que queremos colocar el


texto, o dicho de otro modo dar el focus

View.setFocusableInTouchMode(true);

»Garantiza que el componente pueda obtener el foco

View.requestFocus();

»Solicita el foco para el componente


DISPOSITIVOS DE ENTRADA
DISPOSITIVOS DE ENTRADA

También podría gustarte