Algunas notas sobre Material Design para Android Devs

Armando Picón
devStories
Published in
2 min readJul 25, 2016

Estoy llevando el curso de Udacity llamado “Material Design for Android Developers” y dejaré aquí algunos apuntes (no es un artículo propiamente dicho, sino notas de lo que me parece útil) o cosas que tenía anotadas por allí.

Unidades

Pixel density: Se traduciría como “densidad por pixel” y se refiere al número de pixeles que entran en una pulgada (inch). A más pixeles por pulgada, mayor será la densidad de la pantalla.

screen density = screen width (or height) in pixels / width (or height) in inches

Density-independent pixels (dp): Se traduciría como “pixeles indeṕendiente de la densidad” y se refiere a unidades flexibles que permiten escalar las dimensiones de un elemento de manera uniforme en cualquier tipo de pantalla. Toma en cuenta que para un elemento debes sacarle los “dips” que ocupará de ancho y de largo.

dp = (width in pixels * 160) / screen density

Scaleable pixels (sp): Se traduciría como “pixeles escalables” y viene a cumplir una función similar que los “dp” pero se emplea para las fuentes o letras. En este caso, toma en cuenta las configuraciones que tenga el usuario a nivel del equipo.

Resource Qualifiers

Se refiere a ciertas variantes a nivel de nombres de carpetas que permiten organizar los elementos propios de una densidad de pantalla, versión de API o, incluso, para un idioma. Algunos ejemplos:

  • layout-w600dp/main_activity.xml: este sería un layout que android tomaría en cuenta cuando el ancho de la pantalla sea igual o mayor a 600dp.
  • values-v21/styles.xml: android tomará en cuenta estos estilos cuando la versión de android sea igual o superior a 21 (Lollipop).
  • drawable-mdpi-ja/localicon.png: tomará en cuenta este ícono cuando sea una densidad mediana y en idioma japonés.

Diferencia entre Padding y Margin

Algunas veces, sobretodo cuando era nuevo, siempre confundía ambas cosas.

Padding corresponde al espacio, que forma parte de la vista, entre el contenido y el borde. Margin, corresponde al espacio entre dos objetos o vistas.

Layouts

Existen varios layouts tipo FrameLayout, LinearLayout y RelativeLayout, GridLayout.

Referencias

--

--

Armando Picón
devStories

lifelong learner • 👨🏽‍💻 Android eng (ex: @uber ) • 🇵🇪 @ 🇨🇱 • @gdgopen • content creator @devpicon | @primosauda