Sobes.tech
Junior

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 px dependerá da densidade do ecrã. Em dispositivos com diferentes densidades, o mesmo tamanho em px ocupará uma área física diferente.

  • dp (pixels independentes da densidade): Pixels independentes da densidade. Unidade de medida baseada no tamanho físico do ecrã. dp garante um tamanho físico uniforme dos elementos UI em ecrãs com diferentes densidades. 160 dp são aproximadamente iguais a 1 polegada num ecrã de densidade média (mdpi). O framework Android escala dp de 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 usar sp para 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