Android: convertir dp a pixels

En Android, a veces, es necesario hacer un tratamiento del tamaño de ciertos elementos en pixels, durante la ejecución de la aplicación, como por ejemplo en:

view.setPadding(int, int, int, int);

Sin embargo, sabemos que, sobre todo al diseñar interfaces, es muy conveniente utilizar dip (density independent pixel) a la hora de especificar tamaños, para evitar variaciones entre dispositivos con resoluciones diferentes.

De manera que, para ejecutar código como el de arriba (cambios en runtime), podemos hacer lo siguiente:

float sizeInDip = 10f;
int padding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, sizeInDip, getResources().getDisplayMetrics());

Vía | James Elsey Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>