Čo sú px, dp a sp v kontexte vývoja Androidu?
sobes.tech AI
Odpoveď od AI
-
px (pixel): Pixely na obrazovke. Sú skutočné body, z ktorých sa skladá displej. Veľkosť v
pxzávisí od hustoty obrazovky. Na zariadeniach s rôznou hustotou zaberie rovnaká veľkosť vpxrôznu fyzickú plochu. -
dp (nezávislé od hustoty pixelov): Pixely nezávislé od hustoty. Jednotka merania založená na fyzickej veľkosti obrazovky.
dpzabezpečuje rovnakú fyzickú veľkosť prvkov UI na obrazovkách s rôznou hustotou. 160dpje približne rovnaké ako 1 palec na obrazovke strednej hustoty (mdpi). Android framework škálujedppodľa hustoty zariadenia. -
sp (škálovateľné nezávislé od veľkosti pixelov): Pixely nezávislé od škálovania. Podobné ako
dp, ale navyše sa škálujú podľa nastavení písma používateľa (napríklad veľkosť písma v systémových nastaveniach). Odporúča sa používaťspna určenie veľkosti textu.
Príklad použitia v XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Veľkosť textu v sp
android:padding="8dp" /> // Okraje v dp
<ImageView
android:layout_width="50dp" // Šírka obrázka v dp
android:layout_height="50dp" /> // Výška obrázka v dp
Sumárna tabuľka:
| Jednotka | Účel | Škáluje od | Odporúčané pre |
|---|---|---|---|
| px | Fyzický pixel | - | Neodporúča sa |
| dp | Nezávislý od hustoty pixel | Hustota obrazovky | UI prvky |
| sp | Škálovateľný nezávislý od veľkosti pixel | Hustota obrazovky a veľkosť písma | Text |