¿Cuál es la diferencia entre "px", "dip", "dp" y "sp"?

¿Cuál es la diferencia entre las unidades de medida de Android?

  • px
  • sumergir
  • dp
  • sp

preguntado el 08 de enero de 10 a las 00:01

esto es usar la diferencia completa entre px, dip, dp y sp en android [ desarrollador.android.com/guide/topics/resources/… -

Este ingenioso convertidor lo demuestra mejor, en mi opinión. También es extremadamente útil para exportar sprites desde Photoshop o diseñar su diseño para una dimensión física. -

nueva descripción en Google Design Unidades y medidas -

Diseño de materiales con densidad de píxeles material.io/design/layout/… -

30 Respuestas

Desde el Documentación para desarrolladores de Android:

  1. px
    > pixeles - corresponde a los píxeles reales de la pantalla.

  2. in
    > Pulgadas - basado en el tamaño físico de la pantalla.
    > 1 pulgada = 2.54 centímetros

  3. mm
    > milímetros - basado en el tamaño físico de la pantalla.

  4. pt
    > Puntos - 1/72 de pulgada según el tamaño físico de la pantalla.

  5. dp or sumergir
    > Densidad-Píxeles independientes: una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp, por lo que un dp es un píxel en una pantalla de 160 ppp. La proporción de dp a píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. Nota: El compilador acepta tanto "dip" como "dp", aunque "dp" es más consistente con "sp".

  6. sp
    > Píxeles escalables OR píxeles independientes de la escala - esto es como la unidad dp, pero también se escala según la preferencia de tamaño de fuente del usuario. Se recomienda que utilice esta unidad al especificar tamaños de fuente, para que se ajusten tanto a la densidad de la pantalla como a las preferencias del usuario. Tenga en cuenta que la documentación de Android es inconsistente en lo que sp en realidad representa, uno doctor dice "píxeles independientes de la escala", otros dice "píxeles escalables".

De Comprender la independencia de la densidad en Android:

Cubo de densidad Densidad de pantalla Tamaño físico Pixel Tamaño
ldpi 120 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 120 ppp = 60x60 px
mdpi 160 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 160 ppp = 80x80 px
hdpi 240 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 240 ppp = 120x120 px
xhdpi 320 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 320 ppp = 160x160 px
xxhdpi 480 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 480 ppp = 240x240 px
xxxhdpi 640 dpi 0.5 L x 0.5 A pulg 0.5 pulgadas * 640 ppp = 320x320 px
Unidad Descripción Unidades por pulgada física ¿Independiente de la densidad? ¿El mismo tamaño físico en todas las pantallas?
px pixeles Varíable No No
in Pulgadas 1
mm milímetros 25.4
pt Puntos 72
dp Píxeles independientes de densidad ~ 160 No
sp Escala de píxeles independientes ~ 160 No

También se puede encontrar más información en el Documentación de diseño de Google.

Respondido el 22 de diciembre de 20 a las 11:12

Prácticamente todo sobre esto y cómo lograr el mejor soporte para múltiples pantallas de diferentes tamaños y densidades está muy bien documentado aquí:

tamaño de la pantalla
Tamaño físico real, medido como la diagonal de la pantalla. Para simplificar, Android agrupa todos los tamaños de pantalla reales en cuatro tamaños generalizados: pequeño, normal, grande y extragrande.

Densidad de pantalla
El número de píxeles dentro de un área física de la pantalla; normalmente denominado ppp (puntos por pulgada). Por ejemplo, una pantalla de densidad "baja" tiene menos píxeles dentro de un área física determinada, en comparación con una pantalla de densidad "normal" o "alta". Para simplificar, Android agrupa todas las densidades de pantalla reales en seis densidades generalizadas: baja, media, alta, extra alta, extra extra alta y extra extra extra extra alta.

Orientación
La orientación de la pantalla desde el punto de vista del usuario. Esto es horizontal o vertical, lo que significa que la relación de aspecto de la pantalla es ancha o alta, respectivamente. Tenga en cuenta que no solo los diferentes dispositivos operan en diferentes orientaciones de forma predeterminada, sino que la orientación puede cambiar en tiempo de ejecución cuando el usuario gira el dispositivo.

Desenlace
El número total de píxeles físicos en una pantalla. Al agregar soporte para múltiples pantallas, las aplicaciones no funcionan directamente con resolución; las aplicaciones deben preocuparse únicamente por el tamaño y la densidad de la pantalla, según lo especificado por los grupos de tamaño y densidad generalizados.

Píxel independiente de la densidad (dp)
Una unidad de píxel virtual que debe usar al definir el diseño de la interfaz de usuario, para expresar las dimensiones o la posición del diseño de una manera independiente de la densidad. El píxel independiente de la densidad es equivalente a un píxel físico en una pantalla de 160 ppp, que es la densidad de referencia asumida por el sistema para una pantalla de densidad "media". En tiempo de ejecución, el sistema maneja de manera transparente cualquier escalamiento de las unidades dp, según sea necesario, en función de la densidad real de la pantalla en uso. La conversión de unidades dp a píxeles de pantalla es simple: px = dp * (dpi / 160). Por ejemplo, en una pantalla de 240 ppp, 1 dp equivale a 1.5 píxeles físicos. Siempre debe usar unidades dp al definir la interfaz de usuario de su aplicación, para garantizar una visualización adecuada de su interfaz de usuario en pantallas con diferentes densidades.

Si se toma en serio el desarrollo de una aplicación de Android para más de un tipo de dispositivo, debería haber leído el documento de desarrollo de soporte de pantallas al menos una vez. Además de eso, siempre es bueno saber la cantidad real de dispositivos activos que tienen una configuración de pantalla en particular.

respondido 27 nov., 18:09

Desarrollaré más sobre cómo exactamente dp se convierte a px:

  • Si se ejecuta en un dispositivo mdpi, 150 x 150 px la imagen ocupará 150 * 150 dp de espacio en pantalla.
  • Si se ejecuta en un dispositivo hdpi, 150 x 150 px la imagen ocupará 100 * 100 dp de espacio en pantalla.
  • Si se ejecuta en un dispositivo xhdpi, 150x150 px la imagen ocupará 75 * 75 dp de espacio en pantalla.

Al revés: digamos, desea agregar una imagen a su aplicación y la necesita para completar un 100 * 100 dp control. Deberá crear imágenes de diferentes tamaños para los tamaños de pantalla compatibles:

  • 100 * 100 px imagen para mdpi
  • 150 * 150 px imagen para hdpi
  • 200 * 200 px imagen para xhdpi

Respondido 06 Abr '18, 20:04

¿Cómo se representa el tamaño de la fuente? en dp o sp? Tengo una aplicación, el texto se muestra más grande en algún modal. Entonces se trata de la siguiente línea o de ocupar completamente los espacios. ¿Cómo se configurará este tamaño de fuente para que se muestre tan bien en Android? sejn

px - Píxeles - el punto por escala corresponde a los píxeles reales en la pantalla.

i - pulgadas - basado en el tamaño físico de la pantalla.

mm - Milímetros - basado en el tamaño físico de la pantalla.

pt - Puntos - 1/72 de pulgada según el tamaño físico de la pantalla.

dp: píxeles independientes de la densidad - una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp, por lo que una dp es un píxel en una pantalla de 160 ppp. La proporción de dp a píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. Nota: el compilador acepta ambos dip y dp, Aunque dp es más consistente con sp.

sp- píxeles escalables - esto es como el dp unidad, pero también se escala según la preferencia de tamaño de fuente del usuario. Se recomienda que utilice esta unidad al especificar tamaños de fuente, por lo que se ajustarán tanto a la densidad de la pantalla como a las preferencias del usuario.

Tomemos el ejemplo de dos pantallas que son del mismo tamaño pero una tiene una densidad de pantalla de 160 ppp (puntos por pulgada, es decir, píxeles por pulgada) y la otra es de 240 ppp.

                          Lower resolution screen     Higher resolution, same size
Physical Width                      1.5 inches                        1.5 inches
Dots Per Inch (“dpi”)               160                               240
Pixels (=width*dpi)                 240                               360
Density (factor of baseline 160)    1.0                               1.5

Density-independent pixels          240                               240
(“dip” or “dp” or “dps”)

Scale-independent pixels 
 (“sip” or “sp”)                  Depends on user font size settings    same

Respondido 02 Oct 20, 18:10

Además, debe tener una comprensión clara de los siguientes conceptos:

Tamaño de pantalla:

Tamaño físico real, medido como la diagonal de la pantalla. Para simplificar, Android agrupa todos los tamaños de pantalla reales en cuatro tamaños generalizados: pequeño, normal, grande y extra grande.

Densidad de pantalla:

La cantidad de píxeles dentro de un área física de la pantalla; normalmente denominado ppp (puntos por pulgada). Por ejemplo, una pantalla de densidad "baja" tiene menos píxeles dentro de un área física determinada, en comparación con una pantalla de densidad "normal" o "alta". Para simplificar, Android agrupa todas las densidades de pantalla reales en cuatro densidades generalizadas: baja, media, alta y extra alta.

Orientación:

La orientación de la pantalla desde el punto de vista del usuario. Esto es horizontal o vertical, lo que significa que la relación de aspecto de la pantalla es ancha o alta, respectivamente. Tenga en cuenta que no solo los diferentes dispositivos operan en diferentes orientaciones de forma predeterminada, sino que la orientación puede cambiar en tiempo de ejecución cuando el usuario gira el dispositivo.

Resolución:

El número total de píxeles físicos en una pantalla. Al agregar soporte para múltiples pantallas, las aplicaciones no funcionan directamente con resolución; las aplicaciones deben preocuparse únicamente por el tamaño y la densidad de la pantalla, según lo especificado por los grupos de tamaño y densidad generalizados.

Píxel independiente de la densidad (dp):

Una unidad de píxel virtual que debe usar al definir el diseño de la interfaz de usuario, para expresar las dimensiones o la posición del diseño de una manera independiente de la densidad. El píxel independiente de la densidad es equivalente a un píxel físico en una pantalla de 160 ppp, que es la densidad de referencia asumida por el sistema para una pantalla de densidad "media". En tiempo de ejecución, el sistema maneja de manera transparente cualquier escalamiento de las unidades dp, según sea necesario, en función de la densidad real de la pantalla en uso. La conversión de unidades dp a píxeles de pantalla es simple: px = dp * (dpi / 160). Por ejemplo, en una pantalla de 240 ppp, 1 dp equivale a 1.5 píxeles físicos. Siempre debe usar unidades dp al definir la interfaz de usuario de su aplicación, para garantizar una visualización adecuada de su interfaz de usuario en pantallas con diferentes densidades.

Referencia: Sitio de desarrolladores de Android

respondido 27 nov., 18:13

dp is dip. Úselo para todo (margen, relleno, etc.).

Utilice las sp solo para {text-size}.


Para obtener el mismo tamaño en diferentes densidades de pantalla, Android traduce estas unidades en píxeles en tiempo de ejecución, por lo que no hay que hacer cálculos matemáticos complicados.


Vea la diferencia entre px, dp y sp en diferentes tamaños de pantalla.

Ingrese la descripción de la imagen aquí

Fuente: Programación de Android: la guía de Big Nerd Ranch

Respondido 11 ago 15, 21:08

Definiciones

px o el punto es un píxel en la pantalla física.

ppp son píxeles por pulgada en la pantalla física y representan la densidad de la pantalla.

Android da nombres de alias a varias densidades

  • ldpi (bajo) ~ 120 ppp
  • mdpi (medio) ~ 160 ppp
  • hdpi (alto) ~ 240 ppp
    • la mayoría de los dispositivos en 2015 están aquí
  • xhdpi (extra alto) ~ 320 ppp
    • Apple iPhone 4/5/6, Nexus 4
  • xxhdpi (extra extra alto) ~ 480 ppp
    • Nexus 5
  • xxxhdpi (extra extra extra alto) ~ 640 ppp

sumergir or dp están píxeles independientes de la densidad, es decir, corresponden a más o menos píxeles en función de la densidad física.

  • 1dp = 1px en mdpi

enter image description here

sp or sorbo es un píxel independiente de la escala. Se escalan cuando el Texto grande la opción está activada en Ajustes > Accesibilidad

  • 1sp = 1dp
  • 1sp = 1.2dp con accesibilidad Texto grande

¿Qué usar?

Utilice las sp para el tamaño del texto.

Utilice las dp para todo lo demás.

respondido 02 mar '16, 09:03

He calculado la siguiente fórmula para realizar las conversiones. dpi a dp y sp enter image description here

Respondido 06 Abr '17, 11:04

Debería ser ppi en lugar de ppp - Prateek

1 Fuente

2 Fuente

3 Fuente: (los datos de la fuente 3 se proporcionan a continuación)

Estos son valores de dimensión definidos en XML. Una dimensión se especifica con un número seguido de una unidad de medida. Por ejemplo: 10px, 2in, 5sp. Android admite las siguientes unidades de medida:

dp

Píxeles independientes de la densidad: una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp (puntos por pulgada), en la que 1 dp equivale aproximadamente a 1 px. Cuando se ejecuta en una pantalla de mayor densidad, la cantidad de píxeles utilizados para dibujar 1 dp se escala en un factor apropiado para los ppp de la pantalla. Del mismo modo, cuando se encuentra en una pantalla de menor densidad, el número de píxeles utilizados para 1 dp se reduce. La proporción de dp a píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. El uso de unidades dp (en lugar de unidades px) es una solución simple para hacer que las dimensiones de la vista en su diseño cambien de tamaño correctamente para diferentes densidades de pantalla. En otras palabras, proporciona coherencia para los tamaños reales de los elementos de la interfaz de usuario en diferentes dispositivos.

sp

Píxeles independientes de la escala: es como la unidad dp, pero también se escala según la preferencia de tamaño de fuente del usuario. Se recomienda que utilice esta unidad al especificar tamaños de fuente, por lo que se ajustarán tanto a la densidad de la pantalla como a las preferencias del usuario.

pt

Puntos: 1/72 de pulgada según el tamaño físico de la pantalla.

px

Píxeles: corresponde a los píxeles reales de la pantalla. No se recomienda esta unidad de medida porque la representación real puede variar entre dispositivos; cada dispositivo puede tener un número diferente de píxeles por pulgada y puede tener más o menos píxeles totales disponibles en la pantalla.

mm

Milímetros: según el tamaño físico de la pantalla.

in

Pulgadas: según el tamaño físico de la pantalla.

Nota: Una dimensión es un recurso simple al que se hace referencia mediante el valor proporcionado en el atributo de nombre (no el nombre del archivo XML). Como tal, puede combinar recursos de dimensión con otros recursos simples en un archivo XML, bajo un elemento.

respondido 27 nov., 18:09

Además: ¿cuál es el valor añadido de esta respuesta? No parece haber nada que no se haya mencionado ya en otras respuestas. - laalto

Básicamente, el único momento en el que se aplica px es un px, y eso es si quieres exactamente un píxel en la pantalla como en el caso de un divisor:

En> 160 ppp, puede obtener 2-3 píxeles,

En> 120 ppp, se redondea a 0.

respondido 31 mar '18, 11:03

px

Píxeles: corresponde a los píxeles reales de la pantalla.

dp o dip

Píxeles independientes de la densidad: una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp, por lo que un dp es un píxel en una pantalla de 160 ppp.

Uso de dp:

Independencia de densidad - Su aplicación logra una "independencia de densidad" cuando conserva el tamaño físico (desde el punto de vista del usuario) de los elementos de la interfaz de usuario cuando se muestra en pantallas con diferentes densidades. (es decir) La imagen debe verse del mismo tamaño (no agrandada ni encogida) en diferentes tipos de pantallas.

sp

Píxeles independientes de la escala: es como la unidad dp, pero también se escala según la preferencia de tamaño de fuente del usuario.

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

Respondido 02 Abr '13, 07:04

¿Dónde usar what & relación entre px y dp?

Píxel independiente de la densidad (dp)

Una unidad de píxel virtual que debe usar al definir el diseño de la interfaz de usuario, para expresar las dimensiones o la posición del diseño de una manera independiente de la densidad. Como se describió anteriormente, el píxel independiente de la densidad es equivalente a un píxel físico en una pantalla de 160 ppp, que es la densidad de referencia asumida por el sistema para una pantalla de densidad "media". En tiempo de ejecución, el sistema maneja de manera transparente cualquier escala de las unidades dp, según sea necesario, en función de la densidad real de la pantalla en uso. La conversión de unidades dp a píxeles de pantalla es simple:

px = dp * (dpi / 160).

Por ejemplo, en una pantalla de 240 ppp, 1 dp equivale a 1.5 píxeles físicos. Siempre debe usar unidades dp al definir la interfaz de usuario de su aplicación, para garantizar una visualización adecuada de su interfaz de usuario en pantallas con diferentes densidades.

Entender pixel a dp y viceversa es muy esencial (especialmente para dar valores exactos de dp al equipo creativo)

dp = px * 160 / dpi

MDPI = 160 dpi || Therefore, on MDPI 1 px = 1 dp
For example, if you want to convert 20 pixel to dp, use the above formula,
dp = 20 * 160 / 160 = 20.
So, 20 pixel = 20 dp.

HDPI = 240 dpi - So, on HDPI 1.5 px = 1 dp
XHDPI = 320 dpi - So, on XHDPI 2 px = 1 dp
XXHDPI = 480 dpi - So, on XXHDPI 3 px = 1 dp

For example, let us consider Nexus 4.
If 24 pixels to be converted to dp and if it is a Nexus 4 screen, developers can
convert it to dp easily by the following calculation :
dp = 24 * 160 / 320 = 12 dp
Screen dimension:
768 x 1280 pixel resolution (320 ppi or 320dpi)
Optional (screen size):
 4.7" diagonal
  • Intente obtener todos los valores de píxeles en números pares del equipo creativo. De lo contrario, se producirá una pérdida de precisión al multiplicar por 0.5.

px

Se explica arriba. Intente evitar en los archivos de diseño. Pero hay algunos casos en los que se requiere px. por ejemplo, línea divisoria ListView. px es mejor aquí para dar una línea de un píxel como divisor para todas las resoluciones de pantalla.

sp

Utilice sp para los tamaños de fuente. Entonces solo cambiará la fuente dentro de la aplicación mientras cambia el tamaño de las fuentes del dispositivo (es decir, Pantalla -> Fuentes en el dispositivo). Si desea mantener una fuente de tamaño estático dentro de la aplicación, puede dar la dimensión de la fuente en dp. En tal caso, nunca cambiará. Los desarrolladores pueden obtener este requisito para algunas pantallas específicas, por lo que los desarrolladores pueden usar dp en lugar de sp. En todos los demás casos, se recomienda sp.

Respondido el 20 de junio de 20 a las 10:06

Puedes ver la diferencia entre px y dp de la imagen de abajo, y también puede encontrar que el px y dp no pudo garantizar los mismos tamaños físicos en las diferentes pantallas.

enter image description here

Respondido 13 Feb 15, 18:02

@EnesBattal, creo que debido a que el dp no es un tamaño físico agudo, es un valor aproximado. Citando a CapTech: "dp: esta es una unidad independiente de la densidad; sin embargo, el tamaño físico de un solo" dp "es aproximadamente el mismo en cada densidad de pantalla. Hay aproximadamente 160" dp "en una pulgada. Un factor de escala, dependiendo en el grupo de densidad del dispositivo, se aplica para convertir "dp" en el número de píxeles a 160 ppp. El número de píxeles que se traduce en un solo "dp" varía según el píxel en la densidad de la pantalla y el grupo de densidad que cae el dispositivo dentro." - Zephyr

@RuchirBaronia, creo que el DP o DIP todavía está allí dentro de la apk, porque la apk no sabe con qué tipo de densidad de pantalla se ejecutará todavía, por lo que la independencia del dispositivo debe mantenerse. - Zephyr

Todo lo relacionado con el tamaño del texto y la apariencia debe usar sp or pt. Considerando que, cualquier cosa relacionada con el tamaño de los controles, los diseños, etc. debe usarse con dp.

Puedes usar ambos dp y dip en sus lugares.

Respondido 01 Jul 15, 15:07

Solo usaría dp.

Se habla mucho sobre el uso de "sp" para los tamaños de fuente, y aunque aprecio el punto, no creo que sea lo correcto desde el punto de vista del diseño. Puede terminar rompiendo su diseño si el usuario tiene una selección de tamaño de fuente inestable, y el usuario terminará culpando la aplicacióny no sus propias elecciones de vida.

Además, si utiliza una aplicación sp-font en una tableta de 160 ppp, encontrará que todo se amplía ... pero su fuente, que se verá pequeña en comparación. No tiene buen aspecto.

Si bien la idea de las fuentes "sp" tiene buen corazón, es una mala idea. Quédate con dp para todo.

Respondido el 06 de junio de 15 a las 15:06

Sabes que el factor de escala de fuente aplicado a sp es un factor, ¿verdad? Cualquier cosa que afecte dp también afectará sp. Dicho esto, sigue siendo preferible especificar los tamaños de fuente utilizando dp en lugar de sp si su diseño es muy ajustado y los tamaños más grandes no encajan, es mejor tener un texto más pequeño de lo que el usuario desea que un diseño completamente desordenado. Pero en primera instancia, siempre debe esforzarse por respetar la preferencia de tamaño de fuente del usuario, incluso la configuración más grande no es TAN grande. - Karu

sp = píxel independiente de escala

dp = dip = píxeles independientes de la densidad

dpi = puntos por pulgada

Debemos evitar usar sp.

Deberíamos usar dp para admitir múltiples pantallas.

Android admite diferentes resoluciones de pantalla

  • ldpi (bajo) ~ 120 ppp
  • mdpi (medio) ~ 160 ppp
  • hdpi (alto) ~ 240 ppp
  • xhdpi (extra alto) ~ 320 ppp
  • xxhdpi (extra extra alto) ~ 480 ppp
  • xxxhdpi (extra extra extra alto) ~ 640 ppp

Un dispositivo ldpi de 120 dp tiene 120 píxeles en un tamaño de 1 pulgada.

Lo mismo para otras densidades ...

Nosotros, como ingenieros de software, deberíamos usar esta fórmula de conversión:

píxel = dp * (densidad / 160)

Entonces, 240 dp del dispositivo de 1 ppp tendrá = 1 * (240/160) = 3/2 = 1.5 píxeles.

Y 480 dp del dispositivo de 1 dpi tendrá = 1 * (480/160) = 3 píxeles.

Con este conocimiento de 1.5 y 3 píxeles, un ingeniero de software puede diseñar diseños para diferentes densidades.

Para verificar los parámetros de pantalla de cualquier dispositivo:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

Toast.makeText(
    this,
    "4:" + metrics.heightPixels + "," + metrics.density + ","
    + metrics.densityDpi, Toast.LENGTH_LONG).show();

Respondido el 20 de junio de 20 a las 10:06

Muy buen tutorial para entender es: http: /vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer - esquisto

"Debemos evitar usar sp" ¿Por qué? Debe usar sp cuando se trata de tamaños de fuente porque tiene en cuenta el tamaño de texto preferido del usuario, developer.android.com/training/multiscreen/screendensities.html - ci_

He respondido en relación con la perspectiva del diseño. Por favor, lea el enlace que proporcionó "por lo que debe usar esta unidad de medida al definir el tamaño del texto (pero nunca para los tamaños del diseño)". - esquisto

La pregunta era "¿Diferencia entre px, dp, dip y sp en Android?" su respuesta dijo "Debemos evitar usar sp". No se mencionó la "perspectiva de diseño" en ninguna parte. - ci_

Sí ... dp y dip son iguales ... se usan indistintamente ... ¿Mi respuesta resuelve su consulta? - esquisto

Diferencia entre dp y sp unidades mencionadas como "preferencia de tamaño de fuente del usuario"por las respuestas copiadas de la documentación oficial se puede ver en tiempo de ejecución cambiando Settings->Accessibility->Large Text .

Large Text La opción obliga al texto a convertirse 1.3 veces más grande.

private static final float LARGE_FONT_SCALE = 1.3f;

Por supuesto, esto podría depender del proveedor, ya que se encuentra en paquetes / aplicaciones / Configuración.

Respondido 14 Oct 13, 09:10

ppp -

  • Puntos por pulgada
  • Midiendo la densidad de píxeles de la pantalla.

px - píxel

  • Para mapear píxeles de pantalla

pt - puntos

  • Aproximadamente 1/72 de pulgada, con respecto al tamaño físico de la pantalla.

in - inch - con respecto al tamaño físico de la pantalla (1 pulgada = 2.54 cm).

mm- milímetro - con respecto al tamaño físico de la pantalla.

sp: píxel independiente de la escala.

  • Según la preferencia de tamaño de fuente del usuario.
  • La fuente debe estar en 'sp'.

aderezo -

  • inmersión == dp
  • Píxel independiente de la densidad.
  • Varía según la densidad de la pantalla.
  • En pantalla de 160 ppp, 1 dp = 1 píxel.
  • Utilice dp excepto el tamaño de fuente del texto.

En estándar, se utilizan dp y sp. sp para el tamaño de fuente y dp para todo lo demás.

Fórmula para conversión de unidades:

px = dp * (dpi / 160);

Density Bucket -> Screen Display => Physical Size        => Pixel Size                   

ldpi         -> 120 dpi          => 0.5 x 0.5 in         => 0.5 in * 120 dpi = 60x60 px   

mdpi         -> 160 dpi          => 0.5 x 0.5 in         => 0.5 in * 160 dpi = 80x80 px   

hdpi         -> 240 dpi          => 0.5 x 0.5 in         => 0.5 in * 240 dpi = 120x120 px  

xhdpi        -> 320 dpi          => 0.5 x 0.5 in         => 0.5 in * 320 dpi = 160x160 px  

xxhdpi       -> 480 dpi          => 0.5 x 0.5 in         => 0.5 in * 480 dpi = 240x240 px 

xxxhdpi      -> 640 dpi          => 0.5 x 0.5 in         => 0.5 in * 640 dpi = 320x320 px  

respondido 24 nov., 15:08

Según la documentación, el compilador acepta tanto "dip" como "dp", aunque "dp" es más consistente con "sp". Arunendra

Lea la respuesta de la wiki de la comunidad. A continuación se menciona alguna información que se debe considerar además de las respuestas anteriores. La mayoría de los desarrolladores de Android pasan por alto esto mientras desarrollan aplicaciones, así que estoy agregando estos puntos.

sp = píxel independiente de escala

dp = píxeles independientes de la densidad

dpi = densidad de píxeles

He revisado las respuestas anteriores ... no las encuentro exactamente correctas. sp para tamaño de texto, dp para límites de diseño - estándar. Pero sp para el tamaño del texto romperá el diseño si se usa descuidadamente en la mayoría de los dispositivos.

sp toma el tamaño del texto del dispositivo, mientras que dp toma el del estándar de densidad del dispositivo (nunca cambie en un dispositivo) Digamos que el texto de 100 sp puede ocupar el 80% de la pantalla o el 100% de la pantalla dependiendo del tamaño de fuente configurado en el dispositivo

enter image description here

También puede usar sp para los límites de diseño, funcionará :) Ninguna aplicación estándar usa sp para texto completo

Use sp y dp para el tamaño del texto considerando UX.

  • No use sp para el texto en la barra de herramientas (puede usar la dimensión de Android disponible para diferentes tamaños de pantalla con dp)
  • No use sp para texto en pequeños botones delimitados, texto muy pequeño, etc.

Algunas personas usan un tamaño de FUENTE enorme en su teléfono para una mayor legibilidad, darles texto de tamaño pequeño codificado será un problema de UX. Ponga sp para el texto cuando sea necesario, pero asegúrese de que no se rompa el diseño cuando el usuario cambie su configuración.

De manera similar, si tiene una sola aplicación que admita todas las dimensiones, agregar activos xxxhdpi aumenta mucho el tamaño de la aplicación. Pero ahora los teléfonos xxxhdpi son comunes, por lo que tenemos que incluir activos xxxhdpi al menos para los iconos de la barra lateral, la barra de herramientas y la barra inferior. Es mejor pasar a imágenes vectoriales para tener imágenes uniformes y de mejor calidad para todos los tamaños de pantalla.

También tenga en cuenta que las personas usan fuentes personalizadas en su teléfono. Entonces, la falta de una fuente puede causar problemas con respecto al espaciado y todo. Digamos que el tamaño de texto 12sp para una fuente personalizada puede requerir algunos píxeles más que la fuente predeterminada.

Consulte el sitio de desarrolladores de Google para conocer las densidades de pantalla y los detalles de la densidad base para Android. https://developer.android.com/training/multiscreen/screendensities

Respondido 26 Oct 19, 12:10

Tamaño de la pantalla in Android está agrupado en categorías small, medium, large, extra large, double-extra y triple-extra. La densidad de la pantalla es la cantidad de píxeles dentro de un área (como una pulgada) de la pantalla. Generalmente se mide en puntos por pulgada (dpi). La densidad de la pantalla se agrupa en baja, media, alta y extra alta. La resolución es el número total de píxeles en la pantalla.

  • dp: Píxeles independientes de la densidad, varía según la densidad de la pantalla. En pantalla de 160 ppp, 1 dp = 1 píxel. Excepto por el tamaño de fuente, use siempre dp.
  • aderezo: dip == dp. En versiones anteriores de Android se usaba dip y luego se cambiaba a dp.
  • sp: Escala de píxeles independientes, escalada según la preferencia de tamaño de fuente del usuario. Las fuentes deben usar sp.
  • píxeles: nuestro píxel estándar habitual que se asigna al píxel de la pantalla.
  • en: pulgadas, con respecto al tamaño físico de la pantalla.
  • milímetro: milímetros, con respecto al tamaño físico de la pantalla.
  • punto: 1/72 de pulgada, con respecto al tamaño físico de la pantalla.

Fórmula de conversión entre unidades

 px = dp * (dpi / 160)

dp a px en el dispositivo

El siguiente ejemplo puede ayudar a comprender mejor. La escala se produce según el tamaño del depósito de 120 (ldpi), 160 (mdpi), 240 (hdpi), 320 (xhdpi), 480 (xxhdpi) y 640 (xxxhdpi). La proporción sugerida por Google para el diseño es 3: 4: 6: 8: 12 para ldpi: mdpi: hdpi: xhdpi: xxhdpi

Una imagen de 150px X 150px ocupará,

  • 150 dp X 150 dp de espacio de pantalla en mdpi
  • Espacio de pantalla de 100 dp X 100 dp en hdpi
  • 75 dp X 75 dp de espacio de pantalla en xhdpi

Puede usar la siguiente calculadora de DPI para fijar el tamaño de su imagen y otras dimensiones cuando desee tener un diseño de interfaz de usuario uniforme en todos los dispositivos Android.

Calculadora de PPP en Java

/*
Program output
LDPI: 165.0 X 60.0
MDPI: 220.0 X 80.0
HDPI: 330.0 X 120.0
XHDPI: 440.0 X 160.0
XXHDPI: 660.0 X 240.0
XXXHDPI: 880.0 X 320.0
*/


public class DPICalculator {

private final float LDPI = 120;
private final float MDPI = 160;
private final float HDPI = 240;
private final float XHDPI = 320;
private final float XXHDPI = 480;
private final float XXXHDPI = 640;    

private float forDeviceDensity;
private float width;
private float height;

public DPICalculator(float forDeviceDensity, float width, float height){
    this.forDeviceDensity = forDeviceDensity;
    this.width = width;
    this.height = height;
}

public static void main(String... args) {
    DPICalculator dpiCalculator = new DPICalculator(240,330,120);
    dpiCalculator.calculateDPI();
}


private float getPx(float dp, float value) {
    float px = dp * (value / forDeviceDensity );        
    return px;
}

private void calculateDPI() {

    float ldpiW = getPx(LDPI,width);        
    float ldpiH =  getPx(LDPI,height);
    float mdpiW = getPx(MDPI,width);        
    float mdpiH =  getPx(MDPI,height);        
    float hdpiW = getPx(HDPI,width);        
    float hdpiH =  getPx(HDPI,height);       
    float xdpiW = getPx(XHDPI,width);        
    float xdpiH =  getPx(XHDPI,height);
    float xxdpiW = getPx(XXHDPI,width);        
    float xxdpiH =  getPx(XXHDPI,height);
    float xxxdpiW = getPx(XXXHDPI,width);        
    float xxxdpiH =  getPx(XXXHDPI,height);

    System.out.println("LDPI: " + ldpiW + " X " + ldpiH);
    System.out.println("MDPI: " + mdpiW + " X " + mdpiH);
    System.out.println("HDPI: " + hdpiW + " X " + hdpiH);
    System.out.println("XHDPI: " + xdpiW + " X " + xdpiH);
    System.out.println("XXHDPI: " + xxdpiW + " X " + xxdpiH);
    System.out.println("XXXHDPI: " + xxxdpiW + " X " + xxxdpiH);        
   }
}

Más información consulte el siguiente enlace.

http://javapapers.com/android/difference-between-dp-dip-sp-px-in-mm-pt-in-android/

respondido 28 mar '18, 11:03

Aquí está la fórmula utilizada por Android:

píxeles = ppp * (ppp / 160)

Donde ppp es una de las siguientes densidades de pantalla. Para obtener una lista de todas las densidades posibles haga clic aquí

Define las constantes "DENSITY_ *".

  • ldpi (bajo) ~ 120 ppp
  • mdpi (medio) ~ 160 ppp
  • hdpi (alto) ~ 240 ppp
  • xhdpi (extra alto) ~ 320 ppp
  • xxhdpi (extra extra alto) ~ 480 ppp
  • xxxhdpi (extra extra extra alto) ~ 640 ppp

Tomado de aquí.

Esto solucionará gran parte de la confusión al traducir entre px y dp, si conoce los ppp de su pantalla.

Entonces, digamos que desea una imagen de 60 dp para una pantalla hdpi, entonces el tamaño de píxel físico de 60 dp es:

px = 60 * (240 / 160)

respondido 09 mar '18, 06:03

  • px: un píxel, igual al que se usa en CSS, JavaScript, etc.
  • sp - píxeles independientes de la escala
  • dip - píxeles independientes de la densidad

Normalmente se usa sp para tamaños de fuente, mientras que dip se usa (también llamado dp) para otros.

Respondido el 06 de junio de 15 a las 15:06

Me encontré con un buen artículo sobre el diseño de la interfaz de usuario de aplicaciones de Android para diferentes resoluciones de pantalla, y me gustaría dejarlo aquí solo para alguien que busque en esta área. Sí, sé que de alguna manera se describe en los documentos de Google (y se menciona en las publicaciones anteriores), lo leí pero no fue bueno para mí (sí, puedo ser demasiado estúpido). No me quedó claro cómo diseñar diseños capaces de manejar diferentes tamaños de pantalla. Odio el concepto de DP y demás, cuando necesito implementar un diseño de interfaz de usuario "flexible" para diferentes pantallas. (Hola, desarrolladores de iOS, sí, tienes razón, es el concepto de Storyboard).

Android no tiene un mal concepto de interfaz de usuario, pero lamentablemente carece de funciones de Storyboard de iOS. Diseñar una interfaz de usuario flexible en Android no es fácil (en el mejor de los casos).

Aquí va el artículo que me ayudó a comprender qué hacer en Android para crear diseños para diferentes tamaños de pantalla:

Blog de JMSTUDIO: - Decidir el tamaño de la pantalla de la aplicación Android

Cómo diseñar la interfaz de usuario para aplicaciones de Android para diferentes tamaños de pantalla

Para diseñar una interfaz de usuario de aplicación para diferentes tamaños de pantalla, nuestro diseño inicial debe cumplir con un espacio mínimo requerido para cada tamaño de pantalla. Android define un tamaño mínimo (en dp) para cada tipo de pantalla generalizada. Aquí hay una guía de tamaño de pantalla de Android. Tamaño mínimo de pantalla para Android en dp Cuando obtenemos el tamaño de la pantalla en dp, no es suficiente para nosotros diseñar la interfaz de usuario de la aplicación de Android. Para cada tamaño de pantalla, necesitamos preparar gráficos e imágenes de mapa de bits para cada densidad. Aquí hay una guía de densidad de pantalla de Android. Directriz de densidad de Android (ppp)

Para facilitar el cálculo, podemos seguir la relación de escala de 3: 4: 6: 8 entre las cuatro densidades generalizadas. Si creamos una imagen de 36 × 36 píxeles para el dispositivo ldpi, el tamaño de las imágenes de densidades restantes será 48 × 48 para mdpi, 72 × 72 para hdpi y 96 × 96 para xhdpi.

Cómo diseñar la interfaz de usuario de aplicaciones de Android en Photoshop

Muchos diseñadores tienen problemas para diseñar la interfaz de usuario de la aplicación de Android en Photoshop u otras herramientas de diseño gráfico basadas en píxeles debido a la unidad independiente de densidad, dp. Los diseñadores no saben cómo mapear dp a píxel. Google tampoco ofrece una guía clara de diseño de la interfaz de usuario de Android para ellos, aunque brindan una fórmula básica para la traducción de píxeles y dp.

Según la definición de Android, 1pd equivale a 1px en un dispositivo de 160 ppp (mdpi). Así que queremos diseñar una aplicación de Android para dispositivos Android xlarge con densidad mdpi, podemos definir el tamaño de nuestra interfaz de usuario en píxeles como 960 píxeles de ancho y 720 píxeles de alto; Siga la misma regla de mapeo, podemos obtener las siguientes pautas de diseño de interfaz de usuario de tamaño de pantalla de la aplicación Android:

Tamaño de pantalla de la aplicación Android en la guía de píxeles

ADICIONAL: Si también está interesado en la interfaz de usuario "flexible", eche un vistazo a esta biblioteca: Un SDK de Android que proporciona una nueva unidad de tamaño: sdp (dp escalable). Esta unidad de tamaño se escala con el tamaño de la pantalla. (esto también se menciona en una respuesta aquí, sobre SDP Biblioteca)

AÑADIDO2 Google finalmente ha entendido la utilidad del concepto de interfaz de usuario de Storeboard de iOS, y aquí va ConstraintLayout para el mundo Android: Cree una interfaz de usuario receptiva con ConstraintLayout

Respondido el 14 de Septiembre de 18 a las 16:09

1) dp: (density independent pixels)

El número de píxeles representados en una unidad de dp aumentará a medida que aumente la resolución de la pantalla (cuando tenga más puntos / píxeles por pulgada). A la inversa, en dispositivos con menor resolución, la cantidad de píxeles representados en una unidad de dp disminuirá. Dado que se trata de una unidad relativa, debe tener una línea de base con la que compararla. Esta línea de base es una pantalla de 160 ppp. Esta es la ecuación: px = dp * (dpi / 160).


2) sp: (scale independent pixels)

Esta unidad se escala de acuerdo con los ppp de la pantalla (similar a dp), así como la preferencia de tamaño de fuente del usuario.


3) px: (pixels)

Píxeles o puntos reales en la pantalla.


Para más detalles puede visitar

Guía para desarrolladores de Android> Dimensión
Guía para desarrolladores de Android> Pantallas

Respondido 02 Abr '18, 14:04

tamaño de la pantalla en Android se agrupa en categorías ldpi, mdpi, hdpi, xhdpi, xxhdpi y xxxhdpi. Densidad de pantalla es la cantidad de píxeles dentro de un área (como pulgadas) de la pantalla. Generalmente se mide en puntos por pulgada (dpi).

PX(Pixels):

  • nuestro píxel estándar habitual que se asigna al píxel de la pantalla. px está destinado a píxeles absolutos. Esto se usa si desea dar en términos de píxeles absolutos para ancho o alto. No recomendado.

DP/DIP(Density pixels / Density independent pixels):

  • dip == dp. En versiones anteriores de Android, se utilizó dip y luego se cambió a dp. Esta es una alternativa de px.

  • Generalmente nunca usamos px porque es valor absoluto. Si utiliza px para establecer el ancho o el alto, y si esa aplicación se está descargando en dispositivos de diferentes tamaños de pantalla, esa vista no se extenderá según el tamaño original de la pantalla.

  • dp es muy recomendable usar en lugar de px. Utilizar dp si desea mencionar el ancho y la altura para crecer y contraerse dinámicamente en función del tamaño de la pantalla.

  • si damos dp/dip, Android calculará automáticamente el tamaño de píxel sobre la base de una pantalla de 160 píxeles.

SP(Scale independent pixels):

  • escalado según la preferencia de tamaño de fuente del usuario. Las fuentes deben usar sp.

  • al mencionar los tamaños de fuente para adaptarse a varios tamaños de pantalla, utilice sp. Esto es similar a dp.Usar sp especialmente para que los tamaños de fuente crezcan y se reduzcan dinámicamente en función de los tamaños de pantalla

La documentación de Android dice:

al especificar las dimensiones, utilice siempre dp or sp unidades. A dp es un píxel independiente de la densidad que corresponde al tamaño físico de un píxel a 160 dpi. Un sp es la misma unidad base, pero se escala según el tamaño de texto preferido del usuario (es un píxel independiente de la escala), por lo que debe usar esta unidad de medida al definir el tamaño del texto

Respondido 07 Oct 15, 09:10

La pantalla de un teléfono móvil está formada por miles de pequeños puntos conocidos como píxeles (px). Un píxel es el elemento más pequeño que forma la imagen. Cuanto mayor sea el número de píxeles para hacer una imagen o una redacción, más nítida se vuelve y hace que la pantalla del teléfono inteligente sea más fácil de leer.

La resolución de la pantalla se mide en términos de número de píxeles en la pantalla. La resolución de pantalla es una especificación de uso común al comprar un dispositivo, pero en realidad no es tan útil cuando se diseña para Android porque pensar en las pantallas en términos de píxeles ignora la noción de tamaño físico, que para un dispositivo táctil es realmente muy importante.

Píxel independiente de la densidad (dp o dip) Permita que el diseñador cree activos que aparecen de la manera esperada, sin importar la resolución o densidad del dispositivo de destino.

Un píxel independiente de la densidad (dp o dip) es igual a un píxel en la densidad de referencia o 160 ppp (puntos por pulgada).

1 px / 1 ppp = 160 ppp / 160 ppp

2 px / 1 ppp = 320 ppp (2x) / 160 ppp

dónde,

ppp es puntos por pulgada

Entonces, a 320 ppp, 1 dp es igual a 2 px.

Fórmula

px / dp = ppp / 160 ppp

Los puntos por pulgada (ppp) son una medida de la nitidez (es decir, la densidad de los puntos iluminados) en una pantalla. Los puntos por pulgada para una resolución de imagen determinada diferirán según el tamaño general de la pantalla, ya que se distribuye el mismo número de píxeles en un espacio diferente.

Trabajar con píxeles independientes de la densidad nos ayuda a lidiar con una situación como la de tener dos dispositivos con la misma resolución de píxeles, pero una cantidad de espacio diferente. Supongamos que, en un caso, una tableta y un teléfono tienen la misma resolución de píxeles de 1280 por 800 píxeles (160 ppp) y 800 por 1280 píxeles (320 ppp) respectivamente.

Ahora, debido a que una tableta tiene la densidad de referencia (160 ppp), el tamaño de píxeles físicos e independientes de la densidad es el mismo, 1280 por 800. Por otro lado, el teléfono tiene una densidad de píxeles más alta, por lo que tiene la mitad de píxeles independientes de la densidad que los físicos. píxeles. Por tanto, un teléfono tiene una densidad de píxeles independientes de 400 por 640. Por lo tanto, usar un píxel independiente de la densidad hace que sea más fácil imaginarse mentalmente que la tableta tiene mucho más espacio que el teléfono.

De manera similar, si tiene dos dispositivos con un tamaño de pantalla similar, pero diferente densidad de píxeles, digamos que uno es de 800 por 1280 píxeles (320 ppp) y el otro es de 400 por 640 píxeles (160 ppp), no es necesario que defina totalmente diseños diferentes para estos dos dispositivos, ya que podemos medir los activos en términos de píxeles independientes de la densidad, que es el mismo para ambos dispositivos.

800 por 1280 píxeles (320 ppp) = 400 por 640 píxeles independientes de densidad (dp)

400 por 640 píxeles (160 ppp) = 400 por 640 píxeles independientes de la densidad (dp)

Escala de píxeles independientes (sp) es la unidad preferida para el tamaño de fuente. Por motivos de accesibilidad, Android permite a los usuarios personalizar el tamaño de fuente de su dispositivo. Los usuarios que tienen problemas para leer el texto pueden aumentar el tamaño de fuente de su dispositivo. Normalmente puede encontrar esta opción en la configuración de pantalla de su teléfono o tableta en el tamaño de fuente. A menudo, también está disponible a través de la configuración de accesibilidad.

Con píxeles independientes de escala, 16 sp es exactamente lo mismo que 16 dp cuando el tamaño de fuente del dispositivo es normal o 100%. Pero cuando el tamaño de fuente del dispositivo es grande, por ejemplo 125%, 16 sp se traducirá en 20 dp o 1.25 por 16.

Si usa dp como unidad para el tamaño de fuente, entonces ese fragmento de texto tiene un tamaño físico específico sin importar si el usuario ha personalizado el tamaño de fuente del dispositivo. El uso de unidades sp mejorará la experiencia de las personas con problemas de visión.

Referencia: UdacityGoogle

Respondido 18 Oct 17, 06:10

Densidad de píxeles

La densidad y resolución de píxeles de la pantalla varían según la plataforma. Los píxeles independientes del dispositivo y los píxeles escalables son unidades que proporcionan una forma flexible de adaptarse a un diseño en todas las plataformas.

Calcular la densidad de píxeles

La cantidad de píxeles que caben en una pulgada se denomina densidad de píxeles. Las pantallas de alta densidad tienen más píxeles por pulgada que las de baja densidad ...

La cantidad de píxeles que caben en una pulgada se denomina densidad de píxeles. Las pantallas de alta densidad tienen más píxeles por pulgada que las de baja densidad. Como resultado, los elementos de la interfaz de usuario con las mismas dimensiones de píxeles aparecen más grandes en pantallas de baja densidad y más pequeños en pantallas de alta densidad.

Para calcular la densidad de la pantalla, puede utilizar esta ecuación:

Densidad de la pantalla = ancho (o alto) de la pantalla en píxeles / ancho (o alto) de la pantalla en pulgadas

Pantallas de alta densidad frente a pantallas de menor densidad

Independencia de densidad

La densidad y resolución de píxeles de la pantalla varían según la plataforma. Los píxeles independientes del dispositivo y los píxeles escalables son unidades que proporcionan una forma flexible de adaptarse a un diseño en todas las plataformas.

Cálculo de la densidad de píxeles El número de píxeles que caben en una pulgada se denomina densidad de pixeles. Las pantallas de alta densidad tienen más píxeles por pulgada que las de baja densidad ...

Independencia de densidad se refiere a la visualización uniforme de elementos de la interfaz de usuario en pantallas con diferentes densidades.

Píxeles independientes de la densidad, Escrito como dp (pronunciado "dips”), Son unidades flexibles que se escalan para tener dimensiones uniformes en cualquier pantalla. Las IU de materiales utilizan píxeles independientes de la densidad para mostrar elementos de forma coherente en pantallas con diferentes densidades.

  1. Pantalla de baja densidad mostrada con independencia de densidad
  2. Pantalla de alta densidad que se muestra con independencia de la densidad

Leer texto completo https://material.io/design/layout/pixel-density.html

Respondido 24 Jul 19, 12:07

sp: píxel independiente de escala

Debe usarlo con textos porque se escala automáticamente de acuerdo con el tamaño de fuente que está utilizando el usuario en su dispositivo.

px: el elemento de imagen o píxel es el único punto en la pantalla

respondido 09 mar '18, 08:03

Píxeles (px) - corresponde a los píxeles reales de la pantalla. Esto se usa si desea dar en términos de píxeles absolutos para ancho o alto.

Píxeles independientes de la densidad (dp o dip) - una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp, por lo que un dp es un píxel en una pantalla de 160 ppp. La proporción de dp a píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. Nota: El compilador acepta tanto "dip" como "dp", aunque "dp" es más consistente con "sp".

Píxeles independientes de escala (sp) - esto es como la unidad dp, pero también se escala según la preferencia de tamaño de fuente del usuario. Se recomienda que utilice esta unidad al especificar tamaños de fuente, para que se ajusten tanto a la densidad de la pantalla como a las preferencias del usuario.

Utilice siempre dp y sp únicamente. sp para tamaños de fuente y dp para todo lo demás. Hará que la interfaz de usuario sea compatible con dispositivos Android con diferentes densidades. Puede obtener más información sobre píxeles y dp en https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp-

URL de origen: - http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/

Respondido 08 Oct 18, 07:10

Quiero proporcionar una forma fácil de entender dp. De hecho, creo dp es el más fácil de entender. dp es solo una unidad de longitud física. Tiene la misma dimensión que mm or inch. Es conveniente para nosotros escribir 50dp, 60dp más bien que 50/160 inch or 60/160 inch, porque uno dp es sólo 1/160 inch cualquiera que sea el tamaño o la resolución de la pantalla.

El único problema es que los dpi de Android de algunas pantallas no son precisos. Por ejemplo, una pantalla clasificada en 160 ppp puede tener realmente 170 ppp. Entonces, el resultado del cálculo de dp es borroso. Debería ser aproximadamente lo mismo que 1/160 inch.

Respondido 02 Abr '16, 04:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.