Czym są px, dp i sp w kontekście rozwoju Androida?
sobes.tech AI
Odpowiedź od AI
-
px (piksele): Piksele na ekranie. To rzeczywiste punkty, z których składa się wyświetlacz. Rozmiar w
pxbędzie zależał od gęstości ekranu. Na urządzeniach o różnej gęstości ten sam rozmiar wpxzajmie inną fizyczną powierzchnię. -
dp (piksele niezależne od gęstości): Piksele niezależne od gęstości. Jednostka miary oparta na fizycznym rozmiarze ekranu.
dpzapewnia taki sam fizyczny rozmiar elementów UI na ekranach o różnych gęstościach. 160dpto mniej więcej 1 cal na ekranie średniej gęstości (mdpi). Framework Android skalibrujedpzgodnie z gęstością urządzenia. -
sp (skalowalne niezależne od rozmiaru piksele): Piksele niezależne od skalowania. Podobne do
dp, ale dodatkowo skalowane w zależności od ustawień czcionki użytkownika (np. rozmiar czcionki w ustawieniach systemowych). Zaleca się używaniespdo określania rozmiaru tekstu.
Przykład użycia w XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Rozmiar tekstu w sp
android:padding="8dp" /> // Marginesy w dp
<ImageView
android:layout_width="50dp" // Szerokość obrazu w dp
android:layout_height="50dp" /> // Wysokość obrazu w dp
Tabela podsumowująca:
| Jednostka | Przeznaczenie | Skalowana od | Zalecane do |
|---|---|---|---|
| px | Fizyczny piksel | - | Niezalecane |
| dp | Niezależny od gęstości piksel | Gęstość ekranu | Elementy UI |
| sp | Niezależny od skalowania i rozmiaru czcionki | Gęstość ekranu i rozmiar czcionki | Tekst |