SlideShare una empresa de Scribd logo
1 de 73
Descargar para leer sin conexión
Suzanne Alexandra
Evangelista de la tecnología Android
Motorola Mobility




Consejos principales para Android UI
Cómo alcanzar la magia en los tablets



MOTOROLA y el logotipo estilizado son marcas de fábrica o marcas registradas de Motorola Trademark Holdings, LLC.
Todas las demás marcas comerciales son propiedad de sus respectivos dueños. © 2011 Motorola Mobility, Inc. Todos
los derechos reservados.
Brasil - #appsum11br
Argentina - #appsum11ar
  México - #appsum11m	
  	
  
  developer.motorola.com	
  


       Título de presentación   Versión 1.0   24.02.09
Estamos en un espacio
        completamente nuevo.
Traiga abordo los elementos apropiados.
Alcance la magia

01 MANTENGA EL DETALLE ERGONÓMICO



02 INVOLUCRE LOS SENTIDOS



03 USE UNA ESTÉTICA FABULOSA



04 HÁGALO EVIDENTE
Alcance la magia
01 MANTENGA EL DETALLE ERGONÓMICO
     Diseños horizontales
     Notificaciones enriquecidas
     Tamaños de texto

02 INVOLUCRE LOS SENTIDOS
   Imágenes
   Palpabilidad

03 USE UNA ESTÉTICA FABULOSA
   Temas, temas, temas

04 HÁGALO EVIDENTE
   Barras de acción
   Fragmentos
   Función arrastrar y colocar
Haga de cuenta que sus usuarios
usan la orientación horizontal
Diseños horizontales
Los diseños horizontales por lo general requieren una distribución
especializada, en cualquier dispositivo.
Diseños horizontales
Mire lo que sucede en el tablet
Diseños horizontales
¿Qué salió mal?

alignParentLeft                   alignParentRight




              Nada en el centro         Imagen
                                       pequeña
Diseños horizontales
Diseño para el tamaño de la pantalla Y la orientación
Diseños horizontales
El diseño ganador




                                           centerHorizontal="true"




                       <RelativeLayout>
layout_alignLeft       layout_alignRight
Diseños horizontales
Optimice la experiencia del usuario para pantallas panorámicas
Diseños horizontales
Evite el efecto océano extra ancho
Tamaños de texto
El texto pequeño (como las imágenes) no funcionará
Tamaños de texto
Mejores prácticas




  Escala con sp
  18 sp y más
  Asegúrese de que los verdaderos
  usuarios puedan leer el texto
Notificaciones enriquecidas
Un beneficio clave de Android sobre las demás plataformas
móviles




                                  Su notificación de
                                  aplicación
Notificaciones enriquecidas
Ejemplos de cuándo usar notificaciones enriquecidas



Cuando llega contenido nuevo




                      Cuando se reproducen medios
Notificaciones enriquecidas
En Honeycomb, dos pantallas de notificación




Bandeja




                  Emergente
Notificaciones enriquecidas
Use el formato Notification.Builder




Notification.Builder builder = new
                        Notification.Builder( this );




Como AlertDialog.Builder
Notificaciones enriquecidas
Cree la notificación que desee




 builder.setSmallIcon(R.drawable.icon)
   .setContentTitle(título)
   .setContentText(texto)
   .setContentIntent(pintent) // Un intento pendiente
   .setLargeIcon(myBitmap)
 ;
Notificaciones enriquecidas
Codificación visual




  setLargeIcon()                         setSmallIcon()

              setContentTitle()
                                  setContentText()
Notificaciones enriquecidas
Alcance la magia. Cree un botón interactivo




 RemoteViews layout = new RemoteViews(
        getPackageName(), R.layout.notification);

 layout.setTextViewText(R.id.notification_title,
        getString(R.string.app_name));
             layout.setOnClickPendingIntent
 (R.id.notification_button,
    getDialogPendingIntent("Tapped") );

 builder.setContent(layout);
Notificaciones enriquecidas
Estrategia para compatibilidad con versiones anteriores




private static boolean isHoneycomb =
      android.os.Build.VERSION.SDK_INT > 10;


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();

     options.inJustDecodeBounds = false;
     options.inSampleSize = 4;
     options.inScaled = true;
     options.inTargetDensity = screenDensity;

     Bitmap bitmap =
        BitmapFactory.decodeResource(
              getResources(),
              R.drawable.clover, options);
Imágenes
Dónde colocar las imágenes y los iconos




                                          Predeterminado, graduado
                                          automáticamente
                                                Iconos de alta resolución

                                                Graduadas previamente
 Hacer coincidir                                para la densidad
 estilo con 3.0
Palpabilidad
Las tabletas están diseñadas para el tacto
Palpabilidad
Asegúrese de poder pulsar todos los objetivos
Palpabilidad
Asegúrese de poder pulsar todos los objetivos



  public View getView( int position,
         View convertView, ViewGroup parent) {

     ImageView i = new ImageView(mContext);
     i.setImageResource(mImageIds[position]);

     i.setLayoutParams(new Gallery.LayoutParams(
         300, 200));

     i.setScaleType(ImageView.ScaleType.FIT_XY);
     i.setBackgroundResource(
         mGalleryItemBackground);

     return i;
 }
Palpabilidad
Observe cómo se transfieren las imágenes a través de los
dispositivos




                                       160 dpi - medio
                                       16:9 relación de aspecto
Alcance la magia
01 MANTENGA EL DETALLE ERGONÓMICO




02 INVOLUCRE LOS SENTIDOS



03 USE UNA ESTÉTICA FABULOSA
   Temas, temas, temas




04 HÁGALO EVIDENTE
Temas
Encuádrelos en el dispositivo o destáquelos
Temas
Honeycomb tiene dos temas holográficos nuevos




                                     Theme.Holo




         Theme.Holo.Light
Temas
Pero requieren aceleración del hardware




  <application android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:hardwareAccelerated="true" >




                               Sólo disponibles con
                               Honeycomb
Temas
Pero usted podría apuntar a varias versiones Android




    <uses-sdk android:minSdkVersion="8"
              android:targetSdkVersion="11"            />
Temas
Cree varios temas para las versiones Android




                            <style … parent=
                              "@android:style/Theme">

                            <style … parent=
                              "@android:style/Theme.Holo">
Asegúrese de que todas las llamadas de
              API que usa
funcionen con todas las versiones de API
             que soporta.
Alcance la magia
01 MANTENGA EL DETALLE ERGONÓMICO



02 INVOLUCRE LOS SENTIDOS


03 USE UNA ESTÉTICA FABULOSA


04 HÁGALO EVIDENTE
   Barras de acción
   Fragmentos
   Función arrastrar y soltar
Barra de acción
  Apronte sus características de aplicación


                  Diálogo de
Icono de          cuadro
aplicación        desplegable




      Vista de                                Elementos de
      acción                                  acción
Barras de acción
Códigos visuales


                             <item android:showAsAction="true" … >


                   onCreateOptionsMenu()




android:actionLayout                onOptionsItemSelected()
android:actionViewClass
Barras de acción
Paso 1. Apuntar a API nivel 11



 <uses-sdk android:minSdkVersion="8"
           android:targetSdkVersion="11"   />
Barras de acción
Paso 2. Colocar los elementos del menú en la barra de acción




  <item android:id="@+id/favorite"
        android:title="@string/favorite"
        android:icon="@drawable/ic_menu_star"
        android:showAsAction="ifRoom" />
Barras de acción
Paso 3. Manejar la selección de opciones de la manera habitual




@Override
 public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.favorite:
            // do something
        return true;
    …
}
Barras de acción
En XOOM y smartphone
Barras de acción
Alcance la magia, dé estilo




<style name="MyTheme"
       parent="android:style/Theme.Holo" >
   <item name="android:actionBarStyle">
              @style/ActionBar</item>
</style>


<style name="ActionBar"
       parent="android:style/Widget.Holo.ActionBar">
   <item name="android:background">
               @drawable/my_background</item>
</style>
Barras de acción
Alcance la magia, agregue un cuadro de diálogo




                                 Use AlertDialog.Builder
                                 Cree un cuadro de diálogo
                                 personalizado en XML
                                 Use un DialogFragment
Barras de acción
Pero ejecute los elementos Honeycomb sólo en Honeycomb




private static boolean isHoneycomb =
      android.os.Build.VERSION.SDK_INT > 10;


if (isHoneycomb) {
// cree el cuadro de diálogo personalizado aquí
}
Fragmentos
Úselos para mostrar más contendido y características, más fluidamente
Fragmentos
Puede usar varios diseños




                            Los más
                            comunes
Fragmentos
La distribución del fragmento inicial es el misma a lo largo de las
orientaciones
Fragmentos
Pero puede mostrar u ocultar vistas
Fragmentos
En su Activity principal, encuentre sus fragmentos




Fragment gridFrag =
      getFragmentManager().
      findFragmentById(R.id.photogrid);

Fragment photoFrag =
      getFragmentManager().
      findFragmentById(R.id.the_frag);
Fragmentos
Verifique la orientación y ajuste las vistas




 private boolean photoInline = false;

 photoInline = (photoFrag != null &&
         getResources().getConfiguration().orientation
         == Configuration.ORIENTATION_LANDSCAPE);

 if (photoInline) {
     // haga algo
 } else if ( photoFrag != null ) {
     getView().setVisibility(View.GONE);
 }
Fragmentos
Mejor todavía




   Transición animada
Fragmentos
Alcance la magia: anime la pantalla del fragmento – paso 1



<set>
  <objectAnimator
       xmlns:android=
       http://schemas.android.com/apk/res/android

     android:propertyName="x"
     android:valueType="floatType"
     android:valueFrom="-1280"
     android:valueTo="0"
     android:duration="500"    />

</set>
Fragmentos
Alcance la magia: anime la pantalla del fragmento – paso 2




FragmentTransaction ft =        getFragmentManager
().beginTransaction();

ft.setCustomAnimations( R.anim.slide_in_left,
       R.anim.slide_out_right );

DetailsFragment newFrag =DetailsFragment.newInstance();

ft.replace(R.id.details_fragment_container, newFrag,
             "detailFragment");

ft.commit();
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
Arrastre y solte
Para comenzar, llame a startDrag()


  Seleccionar un gesto que inicie un arrastre: ¿clic largo?
  Crear un oyente: OnLongClickListener()
  Crear objetos de ClipData y DragShadowBuilder
  Iniciar el arrastre


public boolean onLongClick(View v) {
  ClipData data = ClipData.newPlainText("foo","bar");
  DragShadowBuilder shadowBuilder = new DragShadowBuilder(v);
  v.startDrag(data, shadowBuilder, v, 0);
  return true;
}
Arrastre y solte
Luego continúe con un listener y onDrag()



  Crear un listener de arrastre (implementar OnDragListener)
  Sobrecargue onDrag y maneje los eventos


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.
Copyright © 2010-2011, Motorola, Inc. Todos los derechos reservados, salvo que se indique explícitamente lo contrario.
Se permite la redistribución y el uso en formas de fuente y binaria, con o sin modificación, siempre y cuando se cumpla con las siguientes condiciones:
Las redistribuciones del código fuente deben conservar el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo de
   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.

Apache 2.0
Copyright © 2010, Proyecto Código Abierto Android. Todos los derechos reservados, salvo indicación expresa en contrario.
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/).
Alcance la magia en tablets Android

Más contenido relacionado

La actualidad más candente

manual 3 d studio max - español
manual 3 d studio max - españolmanual 3 d studio max - español
manual 3 d studio max - españolnicorob79
 
Laboratorio desarrollo para Smart Devices
Laboratorio desarrollo para Smart DevicesLaboratorio desarrollo para Smart Devices
Laboratorio desarrollo para Smart DevicesGeneXus
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 
Manual del proteus
Manual del proteusManual del proteus
Manual del proteusayreonmx
 
Guía de referencia - Scratch
Guía de referencia - ScratchGuía de referencia - Scratch
Guía de referencia - Scratch990429
 
Pizarra digital interactiva normal 11
Pizarra digital interactiva normal 11Pizarra digital interactiva normal 11
Pizarra digital interactiva normal 11csevero
 
La interfaz de flash cs42
La interfaz de flash cs42La interfaz de flash cs42
La interfaz de flash cs42gelareal30
 

La actualidad más candente (9)

manual 3 d studio max - español
manual 3 d studio max - españolmanual 3 d studio max - español
manual 3 d studio max - español
 
Parte 2
Parte 2Parte 2
Parte 2
 
Laboratorio desarrollo para Smart Devices
Laboratorio desarrollo para Smart DevicesLaboratorio desarrollo para Smart Devices
Laboratorio desarrollo para Smart Devices
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Manual del proteus
Manual del proteusManual del proteus
Manual del proteus
 
Guía de referencia - Scratch
Guía de referencia - ScratchGuía de referencia - Scratch
Guía de referencia - Scratch
 
Tutorial isis-proteus
Tutorial isis-proteusTutorial isis-proteus
Tutorial isis-proteus
 
Pizarra digital interactiva normal 11
Pizarra digital interactiva normal 11Pizarra digital interactiva normal 11
Pizarra digital interactiva normal 11
 
La interfaz de flash cs42
La interfaz de flash cs42La interfaz de flash cs42
La interfaz de flash cs42
 

Destacado

iOS and Android: Tablets for MDs
iOS and Android: Tablets for MDsiOS and Android: Tablets for MDs
iOS and Android: Tablets for MDsdocsarsi
 
Apresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoApresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoJuan José Rodriguez MsC.
 
No Place Like home : Ignite Waterloo 12
No Place Like home : Ignite Waterloo 12No Place Like home : Ignite Waterloo 12
No Place Like home : Ignite Waterloo 12Carolyn Dawn Good
 
Patrones oscuros de UX - UX Nights Vol 1.03 en Monterrey
Patrones oscuros de UX - UX Nights Vol 1.03 en MonterreyPatrones oscuros de UX - UX Nights Vol 1.03 en Monterrey
Patrones oscuros de UX - UX Nights Vol 1.03 en MonterreyMauricio Angulo
 
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095CBIZ, Inc.
 
Patrones interactivos con Material Design
Patrones interactivos con Material DesignPatrones interactivos con Material Design
Patrones interactivos con Material DesignMauricio Angulo
 
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...Steven McGee
 
Primera clase configuración del EVA
Primera clase configuración del EVAPrimera clase configuración del EVA
Primera clase configuración del EVAMarisol Aman
 
De hemorroides tratamiento
De hemorroides tratamientoDe hemorroides tratamiento
De hemorroides tratamientoeshacersea
 
Tutorial Google books
 Tutorial Google books Tutorial Google books
Tutorial Google books1975alex
 
Geoprocessamento: "Coisa" do século passado
Geoprocessamento: "Coisa" do século passadoGeoprocessamento: "Coisa" do século passado
Geoprocessamento: "Coisa" do século passadoHelton Uchoa
 

Destacado (20)

S5 android ui
S5 android uiS5 android ui
S5 android ui
 
iOS and Android: Tablets for MDs
iOS and Android: Tablets for MDsiOS and Android: Tablets for MDs
iOS and Android: Tablets for MDs
 
Getting the Magic on Android Tablets
Getting the Magic on Android TabletsGetting the Magic on Android Tablets
Getting the Magic on Android Tablets
 
Apresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoApresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da Computação
 
Marcadores sociales
Marcadores socialesMarcadores sociales
Marcadores sociales
 
No Place Like home : Ignite Waterloo 12
No Place Like home : Ignite Waterloo 12No Place Like home : Ignite Waterloo 12
No Place Like home : Ignite Waterloo 12
 
Patrones oscuros de UX - UX Nights Vol 1.03 en Monterrey
Patrones oscuros de UX - UX Nights Vol 1.03 en MonterreyPatrones oscuros de UX - UX Nights Vol 1.03 en Monterrey
Patrones oscuros de UX - UX Nights Vol 1.03 en Monterrey
 
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095
Health Reform Bulletin 123 | IRS Delays Disclosure Date for 2016 Form 1095
 
Patrones interactivos con Material Design
Patrones interactivos con Material DesignPatrones interactivos con Material Design
Patrones interactivos con Material Design
 
Final RWU Career Guide
Final RWU Career GuideFinal RWU Career Guide
Final RWU Career Guide
 
google aps
google apsgoogle aps
google aps
 
Realidad aumentada en el ambito universitario
Realidad aumentada en el ambito universitarioRealidad aumentada en el ambito universitario
Realidad aumentada en el ambito universitario
 
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
 
Primera clase configuración del EVA
Primera clase configuración del EVAPrimera clase configuración del EVA
Primera clase configuración del EVA
 
GDG DevFest Lighting Talks México
GDG DevFest Lighting Talks MéxicoGDG DevFest Lighting Talks México
GDG DevFest Lighting Talks México
 
Las nuevas funcionalidades de Google Apps
Las nuevas funcionalidades de Google AppsLas nuevas funcionalidades de Google Apps
Las nuevas funcionalidades de Google Apps
 
De hemorroides tratamiento
De hemorroides tratamientoDe hemorroides tratamiento
De hemorroides tratamiento
 
Tutorial Google books
 Tutorial Google books Tutorial Google books
Tutorial Google books
 
Geoprocessamento: "Coisa" do século passado
Geoprocessamento: "Coisa" do século passadoGeoprocessamento: "Coisa" do século passado
Geoprocessamento: "Coisa" do século passado
 
FusionCharts Clockworks
FusionCharts ClockworksFusionCharts Clockworks
FusionCharts Clockworks
 

Similar a Alcance la magia en tablets Android

Resumen el gran libro de andorid
Resumen el gran libro de andoridResumen el gran libro de andorid
Resumen el gran libro de andoridJilton Delgado
 
Interfaces increibles en Android
Interfaces increibles en AndroidInterfaces increibles en Android
Interfaces increibles en Androidjezabelink
 
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015Joan Fuentes Hernandez
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidAlberto Ruibal
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
Android 2 traducido
Android 2 traducidoAndroid 2 traducido
Android 2 traducidoUPBC
 
Primeros pasos
Primeros pasosPrimeros pasos
Primeros pasossaturdino
 
Introducción a PS
Introducción a PSIntroducción a PS
Introducción a PSCarlos Lugo
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesRobert Moreira
 
Unidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalUnidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalOrlando Barcia
 
Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402lizbethanahi15
 
Insertar imagen
Insertar imagenInsertar imagen
Insertar imagen0cero
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition) Anderson Rubio
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerraSantyago Perez
 

Similar a Alcance la magia en tablets Android (20)

Unidad didactica scratch
Unidad didactica scratchUnidad didactica scratch
Unidad didactica scratch
 
Android Superstar - Buenas Prácticas
Android Superstar - Buenas PrácticasAndroid Superstar - Buenas Prácticas
Android Superstar - Buenas Prácticas
 
Resumen el gran libro de andorid
Resumen el gran libro de andoridResumen el gran libro de andorid
Resumen el gran libro de andorid
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Interfaces increibles en Android
Interfaces increibles en AndroidInterfaces increibles en Android
Interfaces increibles en Android
 
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015
Presentación de Android Wear impartida en el GDG Devfest Barcelona 2015
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a Android
 
Alejandro 3d
Alejandro 3dAlejandro 3d
Alejandro 3d
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Android
AndroidAndroid
Android
 
Android 2 traducido
Android 2 traducidoAndroid 2 traducido
Android 2 traducido
 
Primeros pasos
Primeros pasosPrimeros pasos
Primeros pasos
 
Introducción a PS
Introducción a PSIntroducción a PS
Introducción a PS
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones moviles
 
Unidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalUnidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-final
 
Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402
 
Primeros pasos con 3d max
Primeros pasos con 3d maxPrimeros pasos con 3d max
Primeros pasos con 3d max
 
Insertar imagen
Insertar imagenInsertar imagen
Insertar imagen
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition)
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 

Más de Motorola Mobility - MOTODEV

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
Getting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondGetting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondMotorola Mobility - MOTODEV
 
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Motorola Mobility - MOTODEV
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Motorola Mobility - MOTODEV
 
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioCómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioMotorola Mobility - MOTODEV
 
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptGráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptMotorola Mobility - MOTODEV
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesMotorola Mobility - MOTODEV
 
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Motorola Mobility - MOTODEV
 

Más de Motorola Mobility - MOTODEV (20)

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
Kill the Laptop!
Kill the Laptop!Kill the Laptop!
Kill the Laptop!
 
MOTODEV App Validator
MOTODEV App ValidatorMOTODEV App Validator
MOTODEV App Validator
 
Beautifully Usable, Multiple Screens Too
Beautifully Usable, Multiple Screens TooBeautifully Usable, Multiple Screens Too
Beautifully Usable, Multiple Screens Too
 
Getting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondGetting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & Beyond
 
Introducing Fragments
Introducing FragmentsIntroducing Fragments
Introducing Fragments
 
Taking Advantage of Webtop
Taking Advantage of WebtopTaking Advantage of Webtop
Taking Advantage of Webtop
 
Building Quality Into Your Apps Through Testing
Building Quality Into Your Apps Through TestingBuilding Quality Into Your Apps Through Testing
Building Quality Into Your Apps Through Testing
 
Top Tips for Android UIs
Top Tips for Android UIsTop Tips for Android UIs
Top Tips for Android UIs
 
Designing Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom TabletDesigning Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom Tablet
 
Diseñando aplicaciones para el Motorola XOOM
Diseñando aplicaciones para el Motorola XOOM Diseñando aplicaciones para el Motorola XOOM
Diseñando aplicaciones para el Motorola XOOM
 
Presentación de los fragmentos
Presentación de los fragmentos Presentación de los fragmentos
Presentación de los fragmentos
 
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas
 
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioCómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
 
Principais dicas para UIs do Android
Principais dicas para UIs do AndroidPrincipais dicas para UIs do Android
Principais dicas para UIs do Android
 
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptGráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testes
 
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

Alcance la magia en tablets Android

  • 1. Suzanne Alexandra Evangelista de la tecnología Android Motorola Mobility Consejos principales para Android UI Cómo alcanzar la magia en los tablets MOTOROLA y el logotipo estilizado son marcas de fábrica o marcas registradas de Motorola Trademark Holdings, LLC. Todas las demás marcas comerciales son propiedad de sus respectivos dueños. © 2011 Motorola Mobility, Inc. Todos los derechos reservados.
  • 2. Brasil - #appsum11br Argentina - #appsum11ar México - #appsum11m     developer.motorola.com   Título de presentación Versión 1.0 24.02.09
  • 3.
  • 4. Estamos en un espacio completamente nuevo. Traiga abordo los elementos apropiados.
  • 5. Alcance la magia 01 MANTENGA EL DETALLE ERGONÓMICO 02 INVOLUCRE LOS SENTIDOS 03 USE UNA ESTÉTICA FABULOSA 04 HÁGALO EVIDENTE
  • 6. Alcance la magia 01 MANTENGA EL DETALLE ERGONÓMICO Diseños horizontales Notificaciones enriquecidas Tamaños de texto 02 INVOLUCRE LOS SENTIDOS Imágenes Palpabilidad 03 USE UNA ESTÉTICA FABULOSA Temas, temas, temas 04 HÁGALO EVIDENTE Barras de acción Fragmentos Función arrastrar y colocar
  • 7. Haga de cuenta que sus usuarios usan la orientación horizontal
  • 8. Diseños horizontales Los diseños horizontales por lo general requieren una distribución especializada, en cualquier dispositivo.
  • 9. Diseños horizontales Mire lo que sucede en el tablet
  • 10. Diseños horizontales ¿Qué salió mal? alignParentLeft alignParentRight Nada en el centro Imagen pequeña
  • 11. Diseños horizontales Diseño para el tamaño de la pantalla Y la orientación
  • 12. Diseños horizontales El diseño ganador centerHorizontal="true" <RelativeLayout> layout_alignLeft layout_alignRight
  • 13. Diseños horizontales Optimice la experiencia del usuario para pantallas panorámicas
  • 14. Diseños horizontales Evite el efecto océano extra ancho
  • 15. Tamaños de texto El texto pequeño (como las imágenes) no funcionará
  • 16. Tamaños de texto Mejores prácticas Escala con sp 18 sp y más Asegúrese de que los verdaderos usuarios puedan leer el texto
  • 17. Notificaciones enriquecidas Un beneficio clave de Android sobre las demás plataformas móviles Su notificación de aplicación
  • 18. Notificaciones enriquecidas Ejemplos de cuándo usar notificaciones enriquecidas Cuando llega contenido nuevo Cuando se reproducen medios
  • 19. Notificaciones enriquecidas En Honeycomb, dos pantallas de notificación Bandeja Emergente
  • 20. Notificaciones enriquecidas Use el formato Notification.Builder Notification.Builder builder = new Notification.Builder( this ); Como AlertDialog.Builder
  • 21. Notificaciones enriquecidas Cree la notificación que desee builder.setSmallIcon(R.drawable.icon) .setContentTitle(título) .setContentText(texto) .setContentIntent(pintent) // Un intento pendiente .setLargeIcon(myBitmap) ;
  • 22. Notificaciones enriquecidas Codificación visual setLargeIcon() setSmallIcon() setContentTitle() setContentText()
  • 23. Notificaciones enriquecidas Alcance la magia. Cree un botón interactivo RemoteViews layout = new RemoteViews( getPackageName(), R.layout.notification); layout.setTextViewText(R.id.notification_title, getString(R.string.app_name)); layout.setOnClickPendingIntent (R.id.notification_button, getDialogPendingIntent("Tapped") ); builder.setContent(layout);
  • 24. Notificaciones enriquecidas Estrategia para compatibilidad con versiones anteriores private static boolean isHoneycomb = android.os.Build.VERSION.SDK_INT > 10; if (!isHoneycomb) // inicie un intento de actividad else // inicie otra
  • 25. 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
  • 26. La vista triunfa sobre los demás sentidos. Brain Rules Dr. John Medina
  • 28. Imágenes Las pantallas para dispositivos distintos requieren tamaños de imágenes diferentes
  • 29. 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?
  • 30. 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
  • 31. La ampliación automática consume memoria. Las configuraciones de imágenes personalizadas aumentan el tamaño del archivo.
  • 32. Imágenes Imágenes grandes de prueba en el tiempo de ejecución para ahorrar memoria BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = false; options.inSampleSize = 4; options.inScaled = true; options.inTargetDensity = screenDensity; Bitmap bitmap = BitmapFactory.decodeResource( getResources(), R.drawable.clover, options);
  • 33. Imágenes Dónde colocar las imágenes y los iconos Predeterminado, graduado automáticamente Iconos de alta resolución Graduadas previamente Hacer coincidir para la densidad estilo con 3.0
  • 34. Palpabilidad Las tabletas están diseñadas para el tacto
  • 35. Palpabilidad Asegúrese de poder pulsar todos los objetivos
  • 36. Palpabilidad Asegúrese de poder pulsar todos los objetivos public View getView( int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); i.setImageResource(mImageIds[position]); i.setLayoutParams(new Gallery.LayoutParams( 300, 200)); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setBackgroundResource( mGalleryItemBackground); return i; }
  • 37. Palpabilidad Observe cómo se transfieren las imágenes a través de los dispositivos 160 dpi - medio 16:9 relación de aspecto
  • 38. Alcance la magia 01 MANTENGA EL DETALLE ERGONÓMICO 02 INVOLUCRE LOS SENTIDOS 03 USE UNA ESTÉTICA FABULOSA Temas, temas, temas 04 HÁGALO EVIDENTE
  • 39. Temas Encuádrelos en el dispositivo o destáquelos
  • 40. Temas Honeycomb tiene dos temas holográficos nuevos Theme.Holo Theme.Holo.Light
  • 41. Temas Pero requieren aceleración del hardware <application android:icon="@drawable/icon" android:label="@string/app_name" android:hardwareAccelerated="true" > Sólo disponibles con Honeycomb
  • 42. Temas Pero usted podría apuntar a varias versiones Android <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />
  • 43. Temas Cree varios temas para las versiones Android <style … parent= "@android:style/Theme"> <style … parent= "@android:style/Theme.Holo">
  • 44. Asegúrese de que todas las llamadas de API que usa funcionen con todas las versiones de API que soporta.
  • 45. Alcance la magia 01 MANTENGA EL DETALLE ERGONÓMICO 02 INVOLUCRE LOS SENTIDOS 03 USE UNA ESTÉTICA FABULOSA 04 HÁGALO EVIDENTE Barras de acción Fragmentos Función arrastrar y soltar
  • 46. Barra de acción Apronte sus características de aplicación Diálogo de Icono de cuadro aplicación desplegable Vista de Elementos de acción acción
  • 47. Barras de acción Códigos visuales <item android:showAsAction="true" … > onCreateOptionsMenu() android:actionLayout onOptionsItemSelected() android:actionViewClass
  • 48. Barras de acción Paso 1. Apuntar a API nivel 11 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />
  • 49. Barras de acción Paso 2. Colocar los elementos del menú en la barra de acción <item android:id="@+id/favorite" android:title="@string/favorite" android:icon="@drawable/ic_menu_star" android:showAsAction="ifRoom" />
  • 50. Barras de acción Paso 3. Manejar la selección de opciones de la manera habitual @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.favorite: // do something return true; … }
  • 51. Barras de acción En XOOM y smartphone
  • 52. Barras de acción Alcance la magia, dé estilo <style name="MyTheme" parent="android:style/Theme.Holo" > <item name="android:actionBarStyle"> @style/ActionBar</item> </style> <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar"> <item name="android:background"> @drawable/my_background</item> </style>
  • 53. Barras de acción Alcance la magia, agregue un cuadro de diálogo Use AlertDialog.Builder Cree un cuadro de diálogo personalizado en XML Use un DialogFragment
  • 54. Barras de acción Pero ejecute los elementos Honeycomb sólo en Honeycomb private static boolean isHoneycomb = android.os.Build.VERSION.SDK_INT > 10; if (isHoneycomb) { // cree el cuadro de diálogo personalizado aquí }
  • 55. Fragmentos Úselos para mostrar más contendido y características, más fluidamente
  • 56. Fragmentos Puede usar varios diseños Los más comunes
  • 57. Fragmentos La distribución del fragmento inicial es el misma a lo largo de las orientaciones
  • 58. Fragmentos Pero puede mostrar u ocultar vistas
  • 59. Fragmentos En su Activity principal, encuentre sus fragmentos Fragment gridFrag = getFragmentManager(). findFragmentById(R.id.photogrid); Fragment photoFrag = getFragmentManager(). findFragmentById(R.id.the_frag);
  • 60. Fragmentos Verifique la orientación y ajuste las vistas private boolean photoInline = false; photoInline = (photoFrag != null && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE); if (photoInline) { // haga algo } else if ( photoFrag != null ) { getView().setVisibility(View.GONE); }
  • 61. Fragmentos Mejor todavía Transición animada
  • 62. Fragmentos Alcance la magia: anime la pantalla del fragmento – paso 1 <set> <objectAnimator xmlns:android= http://schemas.android.com/apk/res/android android:propertyName="x" android:valueType="floatType" android:valueFrom="-1280" android:valueTo="0" android:duration="500" /> </set>
  • 63. Fragmentos Alcance la magia: anime la pantalla del fragmento – paso 2 FragmentTransaction ft = getFragmentManager ().beginTransaction(); ft.setCustomAnimations( R.anim.slide_in_left, R.anim.slide_out_right ); DetailsFragment newFrag =DetailsFragment.newInstance(); ft.replace(R.id.details_fragment_container, newFrag, "detailFragment"); ft.commit();
  • 64. Arrastre y solte Crea participación física inmediata, directa
  • 65. Arrastre y solte Tiene varios estados de eventos ACTION_DRAG_STARTED ACTION_DRAG_ENTERED
  • 66. Arrastre y solte Tiene varios estados de eventos ACTION_DROP ACTION_DRAG_ENDED
  • 67. Arrastre y solte Observe cómo funciona a lo largo de los fragmentos
  • 68. Arrastre y solte Para comenzar, llame a startDrag()   Seleccionar un gesto que inicie un arrastre: ¿clic largo?   Crear un oyente: OnLongClickListener()   Crear objetos de ClipData y DragShadowBuilder   Iniciar el arrastre public boolean onLongClick(View v) { ClipData data = ClipData.newPlainText("foo","bar"); DragShadowBuilder shadowBuilder = new DragShadowBuilder(v); v.startDrag(data, shadowBuilder, v, 0); return true; }
  • 69. Arrastre y solte Luego continúe con un listener y onDrag()   Crear un listener de arrastre (implementar OnDragListener)   Sobrecargue onDrag y maneje los eventos class BoxDragListener implements OnDragListener { public boolean onDrag(View self, DragEvent event) { if (event.getAction() == DragEvent.ACTION_DRAG_STARTED) { // haga algo } // maneje otros eventos }
  • 70. ¿Desea  formular  alguna   pregunta? Brasil - #appsum11br Argentina - #appsum11ar México - #appsum11mx community.developer.motorola.com
  • 72. 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. Copyright © 2010-2011, Motorola, Inc. Todos los derechos reservados, salvo que se indique explícitamente lo contrario. Se permite la redistribución y el uso en formas de fuente y binaria, con o sin modificación, siempre y cuando se cumpla con las siguientes condiciones: Las redistribuciones del código fuente deben conservar el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo de 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. Apache 2.0 Copyright © 2010, Proyecto Código Abierto Android. Todos los derechos reservados, salvo indicación expresa en contrario. 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/).