O que são px, dp e sp no contexto do desenvolvimento Android?
sobes.tech IA
Resposta da IA
-
px (pixels): Pixels no ecrã. São pontos reais que compõem o ecrã. O tamanho em
pxdependerá da densidade do ecrã. Em dispositivos com diferentes densidades, o mesmo tamanho empxocupará uma área física diferente. -
dp (pixels independentes da densidade): Pixels independentes da densidade. Unidade de medida baseada no tamanho físico do ecrã.
dpgarante um tamanho físico uniforme dos elementos UI em ecrãs com diferentes densidades. 160dpsão aproximadamente iguais a 1 polegada num ecrã de densidade média (mdpi). O framework Android escaladpde acordo com a densidade do dispositivo. -
sp (pixels independentes de escala): Pixels independentes de escala. Semelhante a
dp, mas também escala de acordo com as configurações de fonte do utilizador (por exemplo, tamanho da fonte nas configurações do sistema). Recomenda-se usarsppara definir o tamanho do texto.
Exemplo de uso em XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Tamanho do texto em sp
android:padding="8dp" /> // Margens em dp
<ImageView
android:layout_width="50dp" // Largura da imagem em dp
android:layout_height="50dp" /> // Altura da imagem em dp
Tabela resumo:
| Unidade | Propósito | Escala de | Recomendado para |
|---|---|---|---|
| px | Pixel físico | - | Não recomendado |
| dp | Independente da densidade | Densidade do ecrã | Elementos UI |
| sp | Independente de escala e tamanho de fonte | Densidade do ecrã e tamanho da fonte | Texto |