This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Consejos principales para Android UI Cómo alcanzar la magia en los tablets
if (!isHoneycomb) // inicie un intento de actividad else // inicie otra
Alcance la magia 01 MANTENGA EL DETALLE ERGONÓMICO
02 INVOLUCRE LOS SENTIDOS Imágenes Palpabilidad
03 USE UNA ESTÉTICA FABULOSA
04 HÁGALO EVIDENTE
La vista triunfa sobre los demás sentidos.
Brain Rules Dr. John Medina
Imágenes Expréselo visualmente, hágalo atractivo
Imágenes Las pantallas para dispositivos distintos requieren tamaños de imágenes diferentes
Imágenes Seleccione una estrategia de imagen
¿Una serie de imágenes y deje que Android gradúe automáticamente el tamaño? ¿Personalizar una serie de recursos según los distintos tamaños y densidades? ¿Captar la densidad más usada? ¿Recuperar dinámicamente imágenes en el tiempo de ejecución y la graduación para el dispositivo?
Imágenes Memoria frente a tamaño de archivo: un ejemplo
Ampliación automática 32 MB de memoria
324 KB de tamaño
Conjuntos de imágenes 23 MB de memoria
728 KB de tamaño
La ampliación automática consume memoria.
Las configuraciones de imágenes personalizadas aumentan el tamaño
del archivo.
Imágenes Imágenes grandes de prueba en el tiempo de ejecución para ahorrar memoria
BitmapFactory.Options options = new BitmapFactory.Options();
Arrastre y solte Crea participación física inmediata, directa
Arrastre y solte Tiene varios estados de eventos
ACTION_DRAG_STARTED
ACTION_DRAG_ENTERED
Arrastre y solte Tiene varios estados de eventos
ACTION_DROP ACTION_DRAG_ENDED
Arrastre y solte Observe cómo funciona a lo largo de los fragmentos
Seleccionar un gesto que inicie un arrastre: ¿clic largo? Crear un oyente: OnLongClickListener() Crear objetos de ClipData y DragShadowBuilder Iniciar el arrastre
Arrastre y solte Para comenzar, llame a startDrag()
public boolean onLongClick(View v) { ClipData data = ClipData.newPlainText("foo","bar"); DragShadowBuilder shadowBuilder = new DragShadowBuilder(v); v.startDrag(data, shadowBuilder, v, 0); return true; }
Crear un listener de arrastre (implementar OnDragListener) Sobrecargue onDrag y maneje los eventos
Arrastre y solte Luego continúe con un listener y onDrag()
class BoxDragListener implements OnDragListener {
public boolean onDrag(View self, DragEvent event) { if (event.getAction() ==
DragEvent.ACTION_DRAG_STARTED) { // haga algo
} // maneje otros eventos }
¿Desea formular alguna pregunta?
Brasil - #appsum11br Argentina - #appsum11ar México - #appsum11mx
community.developer.motorola.com
gracias
LEGAL
INFORMACIÓN DE LA LICENCIA
Con excepción de dónde se especifique, el código de fuente de muestra escrito por Motorola Mobility Inc. y a usted suministrado tiene la licencia que a continuación se describe.
responsabilidad. Las redistribuciones en forma binaria deben reproducir el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo de
responsabilidad en la documentación y/u otros materiales suministrados con la distribución.
Ni el nombre de Motorola, Inc. ni los nombres de sus distribuidores pueden usarse para avalar o promover productos que deriven de este software sin previa autorización específica por escrito.
EL PRESENTE SOFTWARE SE SUMINISTRA POR LOS TITULARES DE LOS DERECHOS DE AUTOR Y CONTRIBUYENTES EN EL ESTADO "EN QUE SE ENCUENTRA" Y SE RENUNCIA A TODA RESPONSABILIDAD DE GARANTÍA IMPLÍCITA O EXPLÍCITA, A TÍTULO ENUNCIATIVO, LAS GARANTÍAS IMPLÍCITAS DE COMERCIALIZACIÓN Y DE APTITUD PARA UN PROPÓSITO PARTICULAR. EN NINGÚN CASO PODRÁ EL TITULAR DE LOS DERECHOS DE AUTOR NI LOS CONTRIBUYENTES SER RESPONSABLE POR NINGÚN DAÑO Y PERJUICIO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, PUNITIVO, O CONSECUENCIAL (A TÍTULO ENUNCIATIVO DE ABASTECIMIENTO DE BIENES O SERVICIOS DE SUSTITUCIÓN; PÉRDIDA DE USO, DATOS O GANANCIAS O INTERRUPCIÓN DE ACTIVIDADES) INDEPENDIENTEMENTE DE SU ORIGEN Y DE TODA TEORÍA DE RESPONSABILIDAD, YA SEA EN EL CONTRATO, RESPONSABILIDAD ESTRICTA O POR LESIÓN JURÍDICA (INCLUSO NEGLIGENCIA O DE OTRO MODO) QUE SURJAN DE ALGUNA MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE ADVIRTIÓ DE LA POSIBILIDAD DE DICHO DAÑO.
Otro código fuente mostrado en la presentación podrá ofrecerse bajo otras licencias.
Con licencia de Apache, Versión 2.0 (la "Licencia"); no podrá usar este archivo, salvo que cumpla con lo que establece la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/LICENSE-2.0.
Salvo que lo exija la legislación vigente o se preste conformidad por escrito, el software se distribuye bajo licencia, "EN EL ESTADO EN QUE SE ENCUENTRA" SIN GARANTÍAS DE NINGÚN TIPO, explícitas o implícitas. Consulte la Licencia para ver los permisos y las limitaciones que rigen para la Licencia según el idioma específico.
Creative Commons 3.0 Attribution License Partes de esta presentación se reprodujeron de un trabajo creado y compartido con Google (http://code.google.com/policies.html) y se usaron conforme a los
términos descritos en Creative Commons 3.0 Attribution License (http://creativecommons.org/licenses/by/3.0/).