Co jsou px, dp a sp v kontextu vývoje Androidu?
sobes.tech AI
Odpověď od AI
-
px (pixel): Pixely na obrazovce. Jsou to skutečné body, ze kterých se skládá displej. Velikost v
pxzávisí na hustotě obrazovky. Na zařízeních s různou hustotou zabere stejná velikost vpxrůznou fyzickou plochu. -
dp (nezávislé na hustotě pixely): Pixely nezávislé na hustotě. Měřítková jednotka založená na fyzické velikosti obrazovky.
dpzajišťuje stejnou fyzickou velikost prvků UI na obrazovkách s různou hustotou. 160dpje přibližně 1 palec na obrazovce střední hustoty (mdpi). Android framework škálujedppodle hustoty zařízení. -
sp (škálovatelné nezávislé pixely): Pixely nezávislé na měřítku. Podobné jako
dp, ale navíc se škálují podle nastavení písma uživatele (například velikost písma v systémových nastaveních). Doporučuje se používatsppro nastavení velikosti textu.
Příklad použití v XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Velikost textu v sp
android:padding="8dp" /> // Okraje v dp
<ImageView
android:layout_width="50dp" // Šířka obrázku v dp
android:layout_height="50dp" /> // Výška obrázku v dp
Souhrnná tabulka:
| Jednotka | Účel | Škáluje od | Doporučeno pro |
|---|---|---|---|
| px | Fyzický pixel | - | Nedoporučuje se |
| dp | Nezávislý na hustotě pixel | Hustota obrazovky | UI prvky |
| sp | Škálovatelný nezávislý pixel pro text | Hustota obrazovky a velikost písma | Text |